在我的应用程序中登录时,我需要来自 google api 的其他范围数据。我使用react-google-login这个范围在 React 应用程序中获取令牌:
scope='https://www.googleapis.com/auth/user.birthday.read https://www.googleapis.com/auth/user.addresses.read https://www.googleapis.com/auth/user.organization.read'
当我使用我的凭据登录并允许应用访问请求的范围时,我成功获得了令牌。
我将此令牌发送到后端(Node.js),用于google-auth-library从令牌获取有效负载:
import { OAuth2Client } from 'google-auth-library'
export const validateGoogleAccessTokenOAuth2 = async (idToken: string): Promise<any> => {
const CLIENT_ID = 'MY_ID'
const client = new OAuth2Client(CLIENT_ID)
const ticket = await client.verifyIdToken({
idToken,
audience: CLIENT_ID
})
const payload = ticket.getPayload()
return payload
}
在这里,我只收到来自配置文件和电子邮件范围的数据,没有来自请求范围的数据。特别是我需要生日,我还检查了我的谷歌个人资料中允许任何人访问但没有帮助。
我做错了什么还是有另一种方法如何从令牌中获取请求的范围变量?
翻过高山走不出你
相关分类