我想實現一個谷歌oauth 2.0登錄,而不使用任何庫在我的Node.js應用程序。如何使用Google登錄?
我在Google API控制檯上創建了一個應用程序,重定向網址爲http://localhost:3000
。在登錄期間,我的response_type
爲code
,它返回一次性使用代碼,需要使用描述here所述的token_endpoint進行交換。 交換是在我的node.js服務器上用下面的代碼完成的。
axios({
url: 'https://www.googleapis.com/oauth2/v4/token',
method: 'post',
data: {
code: code,
client_id: sso.clientId,
client_secret: sso.clientSecret,
redirect_uri: sso.redirect_uri,
grant_type: 'authorization_code',
}
})
.then((response) => {
console.log(response.data);
})
.catch(function(err) {
console.log(err.response.data);
});
{
"error": "unsupported_grant_type",
"error_description": "Invalid grant_type: "
}
,而不是用戶標記的錯誤響應。
請幫我確定問題。
我試着做POSTMAN查詢以及raw
中的相同有效負載,其內容類型設置爲application/json
,它給了我同樣的錯誤。
您能否確認您的POST請求中的其他字段,例如'client_id,client_secret,redirect_uri'是否正確? –
是的。當我登錄以獲取「代碼」時,相同的信用正在工作。 – jagzviruz