我正在尝试使用Google oauth登录用户,但是遇到了一些问题。
我已经到了谷歌用code
参数将我重定向回服务器的状态,我需要将其交换为access_token
,但是我似乎无法接到POST呼叫正确的代码交换。
我正在遵循此页面上的代码(https://developers.google.com/actions/identity/oauth2?oauth=code),该部分内容为“访问令牌和刷新令牌的Exchange授权代码”
我在Rails应用中使用httpparty,这是我的以下测试代码:
base_url = 'https://accounts.google.com/o/oauth2'
# base_url = 'https://www.googleapis.com/oauth2/v4'
body = {
"client_id" => ENV['GOOGLE_CLIENT_ID'],
"client_secret" => ENV['GOOGLE_CLIENT_SECRET'],
"grant_type" => 'authorization_code',
"code" => params[:code]
}
response = HTTParty.post(
"#{base_url}/token",
:headers => {
'Content-Type' => 'application/x-www-form-urlencoded'
},
:body => body.to_json
)
这是(在响应中)“错误” =>“ unsupported_grant_type”。
两个基本网址均返回此错误。
有人可以向我指出正确的方向,说明如何更正此请求以从Google获取访问令牌。
谢谢。
(也-我不认为这是该问题的重复,在阅读后,我的身体参数位于我认为正确的位置: Getting "error": "unsupported_grant_type" when trying to get a JWT by calling an OWIN OAuth secured Web Api via Postman)