如何从授权码中获取谷歌身份验证令牌?
Posted
技术标签:
【中文标题】如何从授权码中获取谷歌身份验证令牌?【英文标题】:How to get google auth token from authorization code? 【发布时间】:2016-04-13 12:00:20 【问题描述】:我尝试如下获取身份验证令牌:
https://accounts.google.com/o/oauth2/token?client_id=xxxxxxxxx&client_secret=xxxxxxxxxxx&grant_type=authorization_code&code=xxxxxxxxxx&redirect_uri=https://bigquery.cloud.google.com/dataset/projectid:datasetid
虽然我已经指定了 grant_type 参数,但我仍然收到以下错误:
"error" : "invalid_request", "error_description" : "Required parameter is missing: grant_type"
我在这里做错了什么?
【问题讨论】:
【参考方案1】:您需要使用 HTTP POST 并将值放在 POST 参数中,而不是在 HTTP GET 请求中将它们作为查询参数提供。
【讨论】:
你是如何发送的;哪种工具/环境/语言? 命令行 curl 看起来像:curl -d "client_id=xxxxxxxxx&client_secret=xxxxxxxxxxx&grant_type=authorization_code&code=xxxxxxxxxx&redirect_uri=https://bigquery.cloud.google.com/dataset/projectid:datasetid" https://accounts.google.com/o/oauth2/token
;你应该可以用那个来验证
成功了。谢谢。我正在使用邮递员,但它在那里不起作用。
您能告诉我如何获取“code”参数的值吗?我只有 client_id 、 client_secret 和 redirect_uri
accounts.google.com/o/oauth2/v2/… 在这个url中填入response_type和client_id,在浏览器中点击url。它将为您提供通过邮件 id 登录的选项。选择,然后您将在浏览器中看到一个 url,其中有 1 个参数作为代码。以上是关于如何从授权码中获取谷歌身份验证令牌?的主要内容,如果未能解决你的问题,请参考以下文章
如何从.Net Core API 中的身份验证 JWT 令牌中获取身份用户?
NET Core 3.1 MVC 授权/身份验证,带有在单独的 Net Core 3.1 Web Api 中从外部获取的令牌 (JWT)