toopher/toopher-api

Toopher PHP 客户端库

dev-lang-library-refactor 2015-03-31 21:31 UTC

README

简介

ToopherAPI PHP 客户端库简化了从 PHP 代码中与 Toopher API 交互的任务。该项目包括所有依赖库,并处理所需的 OAuth 和 JSON 功能,这样您就可以专注于仅使用 API。

了解 Toopher API

请确保访问 http://dev.toopher.com 以熟悉 Toopher API 的基础知识。那里的文档将告诉您该 API 包装库提供的操作细节。

OAuth 认证

访问 Toopher API 的第一步是在开发门户 http://dev.toopher.com 注册账户并创建一个 "请求者"。当此过程完成后,您的请求者将获得 OAuth 1.0a 凭证,形式为消费者密钥和密钥。您的密钥用于在 Toopher 与您的客户交互时识别您的请求者,而密钥用于签名每个请求,以便我们知道它是您生成的。此库会自动正确格式化带有您的凭据的每个请求。

Toopher 双重步骤

与 Toopher 网络服务交互涉及两个步骤:配对和认证。

配对

在您可以使用 Toopher 增强网站操作之前,您的客户需要将他们的手机 Toopher 应用与您的网站配对。为此,他们需要在手机的 app 中生成一个唯一、无意义的 "配对短语"。您需要在 Toopher 注册过程中提示他们提供配对短语。一旦您有了配对短语,只需将其发送到 Toopher API,并附带您的请求者凭据,我们就会返回一个配对 ID,您可以在需要为该用户认证任何操作时使用。

认证

您完全控制您希望使用 Toopher 认证哪些操作(例如:登录、更改账户信息、进行购买等)。只需发送用户的配对 ID、他们使用的终端的名称以及他们试图执行的操作的描述,我们就会确保他们确实希望这样做。

库化

此库使得执行 Toopher 双重步骤变得非常简单。查看它

require_once("toopher_api.php");

// Create an API object using your credentials
$toopherApi = new ToopherAPI($key, $secret);

// Step 1 - Pair with their phone's Toopher app
$pairingStatus = $toopherApi->pair("pairing phrase", "username@yourservice.com");

// Step 2 - Authenticate a log in
$authStatus = $toopherApi->authenticate($pairingStatus['id'], "my computer");

// Once they've responded you can then check the status
while($authStatus['pending']){
    $authStatus = $toopherApi->getAuthenticationStatus($authStatus['id']);
    sleep(1);
}
if($authStatus['granted']){
    // Success!
} else {
    // user declined the authorization!
}

依赖项

Toopher 使用 composer 管理依赖项。为确保所有依赖项都最新,请执行以下命令

$ composer install

从包的根目录(此 README 所在目录)执行

错误处理

如果任何请求遇到错误,将抛出 ToopherRequestException 异常,其中包含更多关于错误详情的信息。

示例代码

查看 demo/toopher_demo.php 以获取一个示例程序,该程序将引导您完成整个过程!只需按以下方式执行脚本

$ php demo/toopher_demo.php

为了避免被提示输入您的 Toopher API 密钥和密钥,您可以在 $TOOPHER_CONSUMER_KEY 和 $TOOPHER_CONSUMER_SECRET 环境变量中定义它们

测试

运行所有单元测试

$ phpunit test/test_toopher_api.php

注意:phpunit 可能在 vendor/bin/php 中,因此您的测试命令可能是

$ vendor/bin/phpunit test/test_toopher_api.php