如何使用授权码从 Battle.net OAuth 请求访问令牌?
How to request access token from Battle.net OAuth with authorization code?
我有一个爱好项目要使用 battle.net 登录。我想知道如何在收到授权码后从 API 获取访问令牌。
这是 Oauth 流程问题,而不是 battle.net 问题。
目前我可以成功授权用户使用我在 dev.battle.net 中注册的应用程序,然后我尝试使用从 battle.net 登录返回的授权码来获取访问令牌向 https://<region>.battle.net/oauth/token
发送请求。
但是我一直收到这个错误:
{
"error": "unauthorized",
"error_description": "An Authentication object was not found in the SecurityContext"
}
我使用 postman 扩展来向那个 uri 发送 post 请求。我使用我的客户端 ID 和密码验证我的请求。我通过 redirect_uri (https://localhost), granty_type (authorization_code), 代码(从上一个授权步骤返回的代码)。但是我一直收到上面的错误。
我在网上找不到很多关于 battle.net 的信息。还有其他与 oauth 相关的帮助文章,但找不到适合我的方法。
想知道你是否可以帮我解决这个简单的问题。我只是想知道我在这里跳过了什么。
这是文档:
https://dev.battle.net/docs/read/oauth
https://localhost 已添加到我的 mashery 开发帐户的应用程序设置中。
又是我,我在尝试了宇宙中几乎所有的组合后解决了这个问题:)
申请步骤:
- 不要对不同的访问令牌试用使用相同的授权令牌,它们是无效的
- 始终在您测试的每个域上使用 https,包括 localhost,您
redirect_uri 也必须是 https。
- 在从上一步获得的授权码中请求令牌时,您必须在 POST 请求的 header 中使用 "basic authentication"。
- 这是最重要的之一:对于请求令牌,将 redirect_uri、客户端密钥和机密作为 POST 表单参数传递给经过身份验证的请求。这很有趣,因为它已经是一个经过身份验证的请求;为什么我需要再次传递我的秘密?无论如何,这就是它的工作原理。
全文如下:
http://hakanu.net/oauth/2017/01/26/complete-guide-of-battle-net-oauth-api-and-login-button/
这是工作原型:
https://owmatch.me
谢谢。
我有一个爱好项目要使用 battle.net 登录。我想知道如何在收到授权码后从 API 获取访问令牌。
这是 Oauth 流程问题,而不是 battle.net 问题。
目前我可以成功授权用户使用我在 dev.battle.net 中注册的应用程序,然后我尝试使用从 battle.net 登录返回的授权码来获取访问令牌向 https://<region>.battle.net/oauth/token
发送请求。
但是我一直收到这个错误:
{
"error": "unauthorized",
"error_description": "An Authentication object was not found in the SecurityContext"
}
我使用 postman 扩展来向那个 uri 发送 post 请求。我使用我的客户端 ID 和密码验证我的请求。我通过 redirect_uri (https://localhost), granty_type (authorization_code), 代码(从上一个授权步骤返回的代码)。但是我一直收到上面的错误。
我在网上找不到很多关于 battle.net 的信息。还有其他与 oauth 相关的帮助文章,但找不到适合我的方法。 想知道你是否可以帮我解决这个简单的问题。我只是想知道我在这里跳过了什么。
这是文档: https://dev.battle.net/docs/read/oauth
https://localhost 已添加到我的 mashery 开发帐户的应用程序设置中。
又是我,我在尝试了宇宙中几乎所有的组合后解决了这个问题:)
申请步骤:
- 不要对不同的访问令牌试用使用相同的授权令牌,它们是无效的
- 始终在您测试的每个域上使用 https,包括 localhost,您 redirect_uri 也必须是 https。
- 在从上一步获得的授权码中请求令牌时,您必须在 POST 请求的 header 中使用 "basic authentication"。
- 这是最重要的之一:对于请求令牌,将 redirect_uri、客户端密钥和机密作为 POST 表单参数传递给经过身份验证的请求。这很有趣,因为它已经是一个经过身份验证的请求;为什么我需要再次传递我的秘密?无论如何,这就是它的工作原理。
全文如下: http://hakanu.net/oauth/2017/01/26/complete-guide-of-battle-net-oauth-api-and-login-button/
这是工作原型: https://owmatch.me
谢谢。