Auth0 忽略范围选项
Auth0 ignores scope option
我已经使用本指南创建了带有 auth0 的 React 应用程序 https://auth0.com/docs/quickstart/spa/react/01-login
一切正常。但现在我想在我的 React 应用程序中获取用户元数据。我已经用 scope
字段扩展了我的 Auth0Client 构造函数,但它没有帮助。
const auth0FromHook = await createAuth0Client({
domain,
client_id: clientId,
redirect_uri: `${window.location.origin}/auth`,
response_type: 'id_token token',
ui_locales: 'ru',
audience,
scope: 'openid profile email user_metadata',
});
我在 Auth0 的令牌中没有看到 user_metadata
范围:
我应该在哪里写 scope
字段来使 Auth0 return user_metadata
?
P.S ui_locales
也不行。但我在文档 https://auth0.github.io/auth0-spa-js/interfaces/auth0clientoptions.html#scope
中看到了它
你没有得到 user_metadata 因为它不是标准范围。
解决方法是将 user_metadata 添加到 Auth0 规则中的令牌,如下所示:
// assumes you want to add this to the access token
context.accessToken['https://example.com/user_metadata'] = user.user_metadata;
更多关于向令牌添加自定义声明的阅读:https://auth0.com/docs/api-auth/tutorials/adoption/scope-custom-claims#custom-claims
我已经使用本指南创建了带有 auth0 的 React 应用程序 https://auth0.com/docs/quickstart/spa/react/01-login
一切正常。但现在我想在我的 React 应用程序中获取用户元数据。我已经用 scope
字段扩展了我的 Auth0Client 构造函数,但它没有帮助。
const auth0FromHook = await createAuth0Client({
domain,
client_id: clientId,
redirect_uri: `${window.location.origin}/auth`,
response_type: 'id_token token',
ui_locales: 'ru',
audience,
scope: 'openid profile email user_metadata',
});
我在 Auth0 的令牌中没有看到 user_metadata
范围:
scope
字段来使 Auth0 return user_metadata
?
P.S ui_locales
也不行。但我在文档 https://auth0.github.io/auth0-spa-js/interfaces/auth0clientoptions.html#scope
你没有得到 user_metadata 因为它不是标准范围。
解决方法是将 user_metadata 添加到 Auth0 规则中的令牌,如下所示:
// assumes you want to add this to the access token
context.accessToken['https://example.com/user_metadata'] = user.user_metadata;
更多关于向令牌添加自定义声明的阅读:https://auth0.com/docs/api-auth/tutorials/adoption/scope-custom-claims#custom-claims