【发布时间】:2020-01-27 07:04:55
【问题描述】:
我有一个认知用户池,配置了 AWS::Cognito::UserPoolResourceServer 和范围列表,所有这些范围都在 UserPoolClient->AllowedOAuthScopes 上启用。当我通过 UI 身份验证时,令牌包含范围列表
"scope": "aws.cognito.signin.user.admin labs-mymoney-bills-api/view labs-mymoney-bills-api/edit openid profile labs-mymoney-bills-api/pay email",
出于测试目的,我使用 adminInitiateAuth 获取令牌,并带有以下参数
var authParams = {
AuthFlow: 'ADMIN_USER_PASSWORD_AUTH',
ClientId: 'myclientid',
UserPoolId: 'myuserpool',
AuthParameters: {
USERNAME: 'myuser',
PASSWORD: 'herpassword'
}
};
结果令牌的作用域是这样的
"scope": "aws.cognito.signin.user.admin",
显然,当我尝试使用已定义范围的 API 端点进行身份验证时,它始终是未经授权的。
这是一个错误,还是我做错了什么,或者有不切实际的期望?
谢谢
【问题讨论】:
标签: amazon-web-services amazon-cognito