首页 > 解决方案 > 使用 github OAuth2 时无法获取访问令牌

问题描述

我正在尝试关注用户通过 GitHub步骤重定向回您的网站

我能够获得授权码,但在将其交换为访问令牌时遇到了麻烦。

这是带有身份验证码的调用

http://localhost:8080/login/oauth2/code/github?
code=1e16b9f5e7e1b63ce1d4
&state=nS7zT9elsOzMmf6SKUXJz6m_Z-PBvhfUfObZiR3UhWI%3D

我正在尝试将该身份验证码交换为访问令牌。我尝试在参数中使用和不使用grant_type。下面的 curl 命令有什么明显的错误吗?

curl --location --request POST 'https://github.com/login/oauth/access_token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Cookie: user_session=omYLX_QFvwdlluotRIJVi_mz7v_FQaIdQBZtkELBlBWBkhnj; __Host-user_session_same_site=omYLX_QFvwdlluotRIJVi_mz7v_FQaIdQBZtkELBlBWBkhnj' \
--data-urlencode 'client_id=xxxxx' \
--data-urlencode 'client_secret=xxxxx' \
--data-urlencode 'code=1e16b9f5e7e1b63ce1d4' \
--data-urlencode 'redirect_uri=http://localhost:8080/login/oauth2/code/github' \
--data-urlencode 'state=nS7zT9elsOzMmf6SKUXJz6m_Z-PBvhfUfObZiR3UhWI%3D' \
--data-urlencode 'grant_type=authorization_code'

这是我收到的错误消息。

error=bad_verification_code&error_description=The+code+passed+is+incorrect+or+expired.&error_uri=https%3A%2F%2Fdocs.github.com%2Fapps%2Fmanaging-oauth-apps%2Ftroubleshooting-oauth-app-access-token-request-errors%2F%23bad-verification-code

标签: oauth-2.0github-oauth

解决方案


推荐阅读