当我尝试验证oauth1休息api returnse荣军
我必须访问Snoobi API进行分析。 他们提供了不同的步骤来通过Oauth1验证Snoobi API。 他们是 Snoobi有两个API验证请求,我可以访问https://api.snoobi.com/oauth/requesttoken?oauth_callback=并获取请求URL。 如果有第二次请求,https://api.snoobi.com/oauth/accesstoken返回invlid_signature。 我无法解决这个问题....我的示例站点是通过DDO oauth1库进行身份验证的示例站点。 验证步骤如下。 步骤1:请求令牌Snoobi API的请求令牌端点位于:
https://api.snoobi.com/oauth/requesttoken
该请求使用HTTP POST发送到URL:
https://api.snoobi.com/oauth/requesttoken?oauth_callback=<your application callback, URL encoded>
授权标头OAuth参数在HTTP授权标头中发送
字段值oauth_consumer_key您的应用程序使用者密钥(40个字符)oauth_nonce以ASCII格式随机生成的字符串。 具有相同的现时和时间戳组合的后续请求将被忽略。 建议使用64位随机数。 oauth_signature请求签名oauth_signature_method HMAC-SHA1“或”PLAINTEXT oauth_timestamp Unix时间戳oauth_version 1.0
示例授权标题(为了便于阅读,添加了换行符):
Authorization: OAuth oauth_consumer_key=”2cab9166c5180256f4788a7669c181c84bec61ee”,oauth_signature_method=”HMAC-SHA1″,oauth_nonce=”7524122124ddba21d644043.98235934″
,oauth_timestamp=”1306239517″,
oauth_version=”1.0″,
oauth_signature=”kP6LwV%2FJfs9YcG4irDJuoP271uU%3D”
成功请求/ oauth / requesttoken返回请求令牌和令牌密钥。 这些参数分别来自参数“oauth_token”和“oauth_token_secret”。 验证URL也在响应参数“authentification_url”中提供。 该URL类似于:https://api.snoobi.com/oauthgrant.php,您的应用程序应该将用户的浏览器重定向到此地址。 如果用户尚未登录到Snoobi,他将被提示这样做。 登录后,用户可以进入视图,在这里他们可以授予应用程序的访问权限:
Snoobi的OAuth授权视图
一旦用户点击授予按钮,他将被重定向到您的回调网址,并将oauth_token和验证者添加为url参数:
http://youapp.com/callback.php?oauth_token=66393e59b10dddc112a8d1cbca9f9559d01127a1&verifier_token=051dd4f45b791957d8c12b83b9810365bbb50e63
步骤2:访问令牌现在您的应用程序已经获得了请求令牌,秘密和验证程序,它已准备好调用访问令牌终点来获取永久访问令牌。 访问令牌端点是:
https://api.snoobi.com/oauth/accesstoken
授权标头字段值oauth_consumer_key您的应用程序使用者密钥(40个字符)oauth_nonce以ASCII格式随机生成的字符串。 具有相同的现时和时间戳组合的后续请求将被忽略。 建议使用64位随机数。 oauth_timestamp Unix时间戳oauth_version 1.0 oauth_token您的请求令牌oauth_signature签名
Authorization: OAuth oauth_verifier=”ff17678750b3ca5b5263babee610bb9f47f7a1b6″,oauth_consumer_key=”2cab9166c5180256f4788a7669c181c84bec61ee”,oauth_signature_method=”HMAC-SHA1″,
oauth_nonce=”2556773534ddb9f01d00518.41306989″,
oauth_timestamp=”1306238721″,
oauth_version=”1.0″,
oauth_token=”f3a4eb25c1267f28d5de54e89a78db48f4d7ed30″,
oauth_signature=”%2F9y%2BtMdCZk1uRYawXsfWHb%2BPmig%3D”
成功时,accesstoken服务会在字段中返回访问令牌和秘密:oauth_token和oauth_token_secret。
当我尝试将验证验证程序更改为发布表单数据时,它授予访问权限。 我认为文档是错误的定义。
链接地址: http://www.djcxy.com/p/61161.html上一篇: When i try to authenticate oauth1 rest api returnse Invalide