当前位置: 首页 > 知识库问答 >
问题:

401 flickr中OAuth授权期间的响应

阮桐
2023-03-14

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

我有下一个问题几次:有时我收到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=m.flickr.com/services/oauth/authorize?oauth_token={RESULT_OAUTH_TOKEN}

授权后,我会收到下一次回调:

{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,响应消息:Unauthorized,错误:oauth_problem=token_rejected

什么会导致拒绝代币?在得到401响应后,我是否可以尝试使用相同的验证器发出另一个请求,或者这也将返回401响应?

这个问题有时会发生,通常是在互联网连接不好的时候。为了获得授权,我使用flickrj-android-2.1.1

共有1个答案

柯骏
2023-03-14

以下是拒绝令牌的一些原因:

  • 请求令牌已经用于交换访问令牌。
  • 请求令牌与消费者密钥不匹配。
  • 从消费者收到的验证码无效。
 类似资料:
  • 1.1.1. 智能家居 OAuth 授权 1.1.1. 智能家居 OAuth 授权 交互过程 用户添加驱动, 发起授权过程 Homebase 向驱动调用 OAuth Command 接口, 参数为登录回调页面地址 HTTP 驱动 OAuth Command 返回 Oauth 登陆地址 OAuth URL Homebase 打开浏览器, 跳转到转到 OAuth URL 用户输入用户名和密码, 点击授

  • 本文向大家介绍oauth 授权码授予,包括了oauth 授权码授予的使用技巧和注意事项,需要的朋友参考一下 示例 第1步 第2步 资源

  • 我想更好地理解隐式授权流和授权代码授权流之间的区别,因为我不确定我目前的理解是否正确。 隐式授权流主要由前端应用程序用于验证用户身份吗? 隐式授权流是否只需要一个client_id、用户名和密码来进行身份验证,换句话说,永远不会发送client_secret? 授权码只是一个短期令牌吗? 将授权码交换为访问令牌后,客户端可以访问用户帐户多长时间?具体地说,如果客户端是一个长时间运行的脚本,那么用户

  • 1.1.1. 目录 1.1.2. HTTP 远程驱动 OAuth 2.0 接入 1.1.1. 目录 HTTP 远程驱动 OAuth 2.0 接入 接口1. OAuth 接口2: OAuthGetToken 接口3: OAuthRefresh 1.1.2. HTTP 远程驱动 OAuth 2.0 接入 基本流程与 OAuth 类试; OAuth 2.0 需要实现 3 个 command 接口 接口1

  • 本规范建立OAuth授权端点响应类型注册表。 在oauth-ext-review@ietf.org邮件列表上的两周的审查期后,根据一位或多位指定的专家的建议下,按规范需求(RFC5226)注册授权端点使用的其他响应类型。然而,为允许发表之前的值的分配,指定的专家(们)一旦他们对这样的规范即将发布感到满意可以同意注册。 注册请求必须使用正确的主题(例如“响应类型example”的请求)发送到oaut

  • 我正在尝试运行playground2示例,并使用OAuth2对WSO2 Identity server 5.0.0进行授权。当我选择authorization_code授予类型时,应用程序无法获得令牌,因为identity server返回401错误。但在Identity Server4.6.0中,它可以正常工作。 null 是WSO2IS 5.0.0的bug吗?