首页 > 解决方案 > 使用github OAuth时交换身份验证码以获取访问令牌的正确方法是什么

问题描述

我从

https://github.com/login/oauth/authorize?response_type=code&client_id=xxx&scope=read:user&state=zzz-ccc%3D&redirect_uri=http://localhost:8080/login/oauth2/code/github

但我不确定如何交换身份验证码以获取访问令牌

这是我尝试过的

curl --location --request POST 'https://github.com/login/oauth/access_token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'code=028d1e7616d34dde81c5' \
--data-urlencode 'state=yHD7txCxabgJZZkYeY-0p4ZkfWZLbJ5mIj83vA7bs0s%3D' \
--data-urlencode 'client_id=xxx' \
--data-urlencode 'client_secret=zzz' \
--data-urlencode 'redirect_uri=http://localhost:8080/login/oauth2/code/github'

这给了我一个错误

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

我尝试获取身份验证代码,然后多次发出此请求。总是一样的反应。

有人可以与我分享获取访问令牌的 ciurl 请求吗?

标签: oauth-2.0access-token

解决方案


推荐阅读