我创建了一个使用电子邮件地址 ($context.identity.claims.email) 的解析程序。我在 AWS 控制台“查询”部分测试了我的查询,一切正常,因为 $context.identity.claims 看起来符合预期;
{
sub: 'xxx-xxx-xxx-xxx-xxx',
aud: 'xxxxxxxxx',
email_verified: true,
sub: 'xxx-xxx-xxx-xxx-xxx',
token_use: 'id',
auth_time: 1563643503,
iss: 'https://cognito-idp.ap-southeast-1.amazonaws.com/ap-southeast-1_xxxxx',
'cognito:username': 'xxxx',
exp: 1563647103,
iat: 1563643503,
email: 'xxx@xxx.xxx'
}
Run Code Online (Sandbox Code Playgroud)
一切看起来都不错,所以让我们在我的 React 应用程序中使用它,该应用程序使用 AWS Amplify 代码进行身份验证。它现在不起作用,那是因为索赔部分没有“电子邮件”!看起来像这样;
{
sub: 'xxx-xxx-xxx-xxx-xxx',
event_id: 'xxx-xxx-xxx-xxx-xxx',
token_use: 'access',
scope: 'aws.cognito.signin.user.admin',
auth_time: 1563643209,
iss: 'https://cognito-idp.ap-southeast-1.amazonaws.com/ap-southeast-1_xxxx',
exp: 1563646809,
iat: 1563643209,
jti: 'xxx-xxx-xxx-xxx-xxx',
client_id: 'xxxx',
username: 'xxxx'
}
Run Code Online (Sandbox Code Playgroud)
谁能帮我解释为什么电子邮件显示在 AWS 控制台查询中,但当我从自己的客户端调用它时却没有显示?
我刚刚在 LinkedIn 开发人员门户中创建了一个应用程序,但是我缺少一些范围,而且我似乎不知道如何获取它们。我已添加“使用 OpenID Connect 通过 LinkedIn 登录”,但我无权访问r_emailaddress或r_liteprofile范围。
我在过去几天创建了多个应用程序,但仍然一无所获。所有 LinkedIn 文档似乎都假设它会在那里,除了请求“使用 OpenID Connect 通过 LinkedIn 登录”产品(我已经完成并已获得批准)之外,我无法找到如何添加它。
我确实有email和profile范围,但许多集成(例如 Auth0)需要r_emailaddress或r_liteprofile。
任何关于做什么的指示或链接都将非常受欢迎。