【问题标题】:401 response during OAuth authorization in flickrflickr 中 OAuth 授权期间的 401 响应
【发布时间】:2015-01-15 16:17:52
【问题描述】:

我开发了将照片备份到 flickr 的 android 应用程序。

我多次遇到下一个问题: 在将请求令牌交换为访问令牌期间,有时我收到 401 响应(“响应代码:401,响应消息:未授权,错误:oauth_problem=token_rejected”)而不是使用访问令牌的响应。

这个问题主要发生在我的网络连接不好时(当我使用 3g 网络时)。

以下是显示此行为的日志:

2015-01-07 17:12:00,603 DEBUG [oauth.OAuthInterface]-[122] Getting Request Token with parameters: www.flickr.com/services/oauth/request_token [
Parameter [name=oauth_callback, value={MY_APP_NAME}-flickr://callback], 
Parameter [name=oauth_consumer_key, value={MY_CONSUMER_KEY}], 
Parameter [name=oauth_nonce, value=154099562370628], 
Parameter [name=oauth_signature_method, value=HMAC-SHA1], 
Parameter [name=oauth_timestamp, value=1420630920], 
Parameter [name=oauth_version, value=1.0], 
Parameter [name=oauth_signature, value=oVkmG/7nOoiO0P6Dm2j4Aql4lDs=]
] 

2015-01-07 17:12:01,695 DEBUG [oauth.OAuthInterface]-[136] 
Response: {oauth_token_secret={RESULT_OAUTH_TOKEN_SECRET}, oauth_callback_confirmed=true, oauth_token={RESULT_OAUTH_TOKEN}}

之后,我在浏览器中为用户打开下一个 url: url = m.flickr.com/services/oauth/authorize?oauth_token={RESULT_OAUTH_TOKEN}&perms=write

授权后我得到下一个回调:

{MY_APP_NAME}-flickr://callback?oauth_token={RESULT_OAUTH_TOKEN}&oauth_verifier=59bbeb1cb3ffedca

使用验证器我提出下一个请求:

2015-01-07 17:12:47,043 DEBUG [flickrjandroid.REST]-[288] Send Post Input parameters [
Parameter [name=oauth_consumer_key, value={MY_CONSUMER_KEY}], 
Parameter [name=oauth_nonce, value=154146242657849], 
Parameter [name=oauth_signature_method, value=HMAC-SHA1], 
Parameter [name=oauth_timestamp, value=1420630967], 
Parameter [name=oauth_token, value={RESULT_OAUTH_TOKEN}], 
Parameter [name=oauth_verifier, value=59bbeb1cb3ffedca], 
Parameter [name=oauth_version, value=1.0], 
Parameter [name=oauth_signature, value=yZjgD6iKGxn4lzJVuZHnEaqWsHE=]] api.flickr.com:443/services/oauth/access_token

回复是:

响应代码:401,响应消息:未经授权,错误:oauth_problem=token_rejected

什么会导致token被拒绝? 我可以在收到 401 响应后尝试使用相同的验证器发出另一个请求,否则也会返回 401 响应?

这个问题有时会发生,通常是在互联网连接不良的情况下。 对于授权,我使用 flickrj-android-2.1.1

【问题讨论】:

  • 嗨 Rostyslav Roshak 你解决了这个问题吗?

标签: android oauth flickr flickrj


【解决方案1】:

这些是可能拒绝令牌的一些原因:

  • 请求令牌已用于交换访问令牌。
  • 请求令牌与使用者密钥不匹配。
  • 从消费者那里收到的验证码无效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-08
    • 1970-01-01
    • 2017-09-27
    • 2012-12-20
    • 2012-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多