通过授权码授予获取 3 条腿令牌
Posted
技术标签:
【中文标题】通过授权码授予获取 3 条腿令牌【英文标题】:Getting a 3-Legged Token with Authorization Code Grant 【发布时间】:2019-03-21 23:28:13 【问题描述】:我目前正在尝试完成这个基于Getting a 3-Legged Token with Authorization Code Grant的分步教程
这是我的 cURL 代码:
curl -v "https://developer.api.autodesk.com/authentication/v1/gettoken"
-X POST
-H "Content-Type:application/x-www-form-urlencoded"
-d "client_id=****&
client_secret=****&
grant_type=authorization_code&
code=1O4F-z9gXRtGlBymcGoD3bV3Ws2cqqjeN78PpgGn&
redirect_uri=http://localhost:3000/api/forge/callback/oauth"
这是我遇到的错误:
"developerMessage":"The authorization code/refresh token is expired or
invalid/redirect_uri must have the same value as in the authorization
request.","userMessage":"","errorCode":"AUTH-004","more
info":"http://developer.api.autodesk.com/documentation/v1/errors/AUTH-004"*
Connection #0 to host developer.api.autodesk.com left intact
注意:
我已经仔细检查了 URI 是否与我在 forge 应用程序上的回调 URL 相同。 cURL 代码上的间距只是出于视觉原因,这不是我在命令行中运行的方式。【问题讨论】:
【参考方案1】:我认为发生了什么是您在用户登录后获得的代码的过期时间非常短。毕竟,POST /authentication/v1/gettoken
端点应该在用户登录后立即被调用。
顺便说一句。我经历了相同的步骤,由于我花了一段时间使用收到的代码创建邮递员请求,所以我最终遇到了与您相同的错误。然后,当我请求另一个 code 并立即重新发送 Postman 请求时,它成功了。
【讨论】:
非常感谢您的帮助! 很高兴我能帮上忙 :) 干杯! 我遇到了类似的问题。我想知道授权码的有效期是多久? 我不认为这是在任何地方指定的,但根据我的经验,如果您在调用gettoken
端点之前尝试调试东西,它只是“足够短”的时间段,它将是太晚了。以上是关于通过授权码授予获取 3 条腿令牌的主要内容,如果未能解决你的问题,请参考以下文章
在“使用苹果签名”实施期间尝试通过授权码获取刷新令牌时总是发生“invalid_client”错误
Laravel 通过 Passport 实现 API 请求认证:隐式授权令牌