使用访问代码交换授权代码
Posted
技术标签:
【中文标题】使用访问代码交换授权代码【英文标题】:Exchange authorization code with access code 【发布时间】:2015-02-02 10:05:19 【问题描述】:我对 Spotify 的 Web API 授权指南有疑问。 https://developer.spotify.com/web-api/authorization-guide/
我已经完成了第 1 步到第 3 步,没有任何问题。但是在第 4 步“您的应用程序请求刷新和访问令牌”中,您需要以下参数来交换令牌。 1) 授予类型 2) 代码 3)redirect_uri
头参数: 1)授权:基本
如果我是对的 1) grant_type 是您从第 3 步“回调”(http://example.com/callback?code=#thecode) 中获得的代码,但我从哪里获得 2) 代码?
【问题讨论】:
我在文档中解释错误。 1) grant_type 必需。根据 OAuth 2.0 规范中的定义,该字段必须包含值“authorization_code”。我认为他们的意思是它必须是一个字符串,上面写着“authorization_code” 【参考方案1】:没关系,我已经解决了。
对于第 4 步“您的应用程序请求刷新和访问令牌”,已完成以下操作:
当然设置一个 POST 请求,在我的例子中,它是带有框架 Cakephp 的 PHP。
需要填写的参数有:
-
grant_type="authorization_code"
code="您从回调中获得的代码 (http://ex.com/callback?code=#thecode)"
redirect_uri="你保存的 uri https://developer.spotify.com/my-applications/#!/application"
头参数:
我使用了另一种方法。 我通过 POST 正文发送的 client_id 和 client_secret。
【讨论】:
以上是关于使用访问代码交换授权代码的主要内容,如果未能解决你的问题,请参考以下文章
在 Oauth OpenID - 授权代码授予类型中,我们将在哪里将“代码”交换为“访问令牌”,为啥?
Google OAuth2 - 令牌的交换访问代码 - 不起作用
无法在跨客户端谷歌 oauth2.0 中交换访问令牌和刷新令牌的授权码