toopher / toopher-api
Toopher PHP 客户端库
Requires
- php: >=5.3.0
- ext-json: *
- pear-pear.php.net/http_oauth: >=0.2.3
- pear-pear.php.net/http_request2: >=2.1.1
- vclayton/unpecl-oauth: dev-master
Requires (Dev)
- phpunit/phpunit: 3.7.*
- rhumsaa/uuid: >=2.8
- satooshi/php-coveralls: dev-master
This package is not auto-updated.
Last update: 2024-09-24 05:46:04 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