【发布时间】:2020-01-07 15:10:40
【问题描述】:
我正在为我的 React 应用程序使用 Auth0 进行 Google 身份验证。登录成功,我正在使用auth0-spa-js 的getTokenSilently 获取访问令牌。但此令牌没有用户电子邮件或姓名。
const { getTokenSilently } = useAuth0();
getTokenSilently().then((t:any) => {
//t is the token
});
这有以下声明:
{
"iss": "https://testauth0.auth0.com/",
"sub": "google-oauth2|<id>",
"aud": [
"test1",
"https://testauth0.auth0.com/userinfo"
],
"iat": 1567615944,
"exp": 1567702344,
"azp": "<>",
"scope": "openid profile email"
}
如何请求电子邮件和姓名成为令牌的一部分?我需要向getTokenSilently 传递任何参数吗?
我将使用此令牌来调用 API,并且我需要电子邮件地址。我看到的另一种选择是使用作为“子”声明一部分的 id,但电子邮件更容易。
感谢您的帮助。
更新 我可以使用 userinfo 端点(aud 声明的一部分)在 API 中获取用户信息。我很想避免这个额外的电话。
【问题讨论】:
-
您是否获得了 ID 令牌以及令牌响应?
标签: reactjs oauth-2.0 openid-connect auth0