我在我的react nodejs应用程序中有google drive登录功能。当用户点击登录时,我使用Google oauth2来获取代码,并使用客户端ID和密码来获取访问令牌和刷新令牌。我将这些令牌和过期时间保存在我的数据库中。现在,我想使用刷新来获取访问令牌,这样我的访问令牌就不会过期。基本上,我希望用户始终处于登录状态。我正在创建一个对令牌的发布请求,以便使用刷新令牌获取访问令牌。以下是我的代码:
try{
axios.post('/https://www.googleapis.com/oauth2/v3/token',{
client_id: clientId,
client_secret: secret,
refresh_token: rToken
grant_type: rToken
})
.then((response) => {
console.log("response = ", response)
}).catch((error) => {
console.log("error in getting token: = ", error)
})
} catch(err) {
console.log("error = ", err)
}
我收到错误:连接电子连接拒绝
我尝试传递grant_type:refresh_token buy this给出了引用错误:未定义refresh_token
我哪里做错了?
1条答案
按热度按时间7lrncoxx1#
首先,您正在使用axios.post()方法向Google OAuth2令牌终结点发出请求,但您提供的URL不正确。令牌终结点的正确URL是https://www.googleapis.com/oauth2/v3/token,而不是/https://www.googleapis.com/oauth2/v3/token。
以下示例说明如何正确地向Google OAuth2令牌端点发出请求,以使用刷新令牌获取访问令牌: