amazon-web-services - AWS Cognito 中的“访问令牌不包含 openid 范围”
问题描述
我正在一个前端应用程序上运行一个有效的 AWS Cognito 服务,它可以成功地完成基本的工作——登录、注销、注册等。
现在我正在尝试通过后端 API 获取用户属性,例如:
1) 用户登录应用程序并获得一个 JWT。
2) JWT 被发送到后端服务器。
3)服务器必须使用访问令牌提取用户的电子邮件
我发现最接近我需要的是这个Cognito 服务。
因此,我正在向“ https://mydomain.auth.eu-central-1.amazoncognito.com/oauth2/userInfo ”发出GET请求,并按照他们的要求使用授权标头,但我不断收到以下回复:
{ "error": "invalid_token", "error_description": "访问令牌不包含 openid 范围" }
我已尝试搜索此错误,但找不到有关该错误的任何解释。
提前致谢
解决方案
Erez,您使用的是自定义 UI 吗?因为自定义 UI 使用与 OAuth2 完全分离的流程(USER_SRP_AUTH、USER_PASSWORD_AUTH)。随这些流发布的令牌不符合 OpenID Connect(基本上它们不包含 openid 范围),因此您不能使用它们来收集用户信息(因为 userinfo 端点符合 OpenID Connect 并且需要使用符合以下条件的 jwts 来调用) OIDC 标准)。我们也在为此苦苦挣扎,对不起。
推荐阅读
- java - 有没有更简洁的方法使用 RxJava 调整标准的观察者/监听者服务?
- floating-point - 不理解这个 ARM 片段
- c# - 在 ASP.NET Core 中使用 RemoteAttribute 进行模型验证不会 POST 主窗体
- c - glibc 中的暂存缓冲区是什么意思?
- java - 我怎样才能在课程之间进行更改?
- sql - 即使将定义器设置为解决初始错误,MySQL 错误 1449 仍然出现?
- php - 使用与 php mvc 嵌套的选择时出现 ajax 问题
- snowflake-cloud-data-platform - 雪花视图的性能问题
- python - 硒自动化可以与 BS4 一起使用吗?
- javascript - 如何使用以“;”分隔的 Jquery 或 javascript 添加多个电子邮件 ID 验证 “,”在文本区域