首页 > 解决方案 > AWS Cognito OIDC 自定义

问题描述

https://consumerdatastandardsaustralia.github.io/standards/#security-profile

我正在尝试将 AWS Cognito 设置为 OIDC 提供商。能够创建用户池,但需要大量自定义数据。例如 Cognito 的“.well-known/openid-configuration”返回的细节很少,但缺少 introspection_endpoint、revocation_endpoint、claims_supported 等。

同样,需要使用附加声明自定义 /authorize 端点。

任何帮助或建议都会非常有帮助。

问候和感谢

标签: amazon-web-servicesamazon-cognitocdropen-banking

解决方案


声明可以使用 lambda 进行某种程度的自定义:https ://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html

introspection_endpoint 和 revocation_endpoint 不是核心 oauth 并且是扩展。我发现 Cognito 通常不实现扩展,oauth2 核心的很多部分也没有实现。

Cognito 缺少许多您可能希望开箱即用的功能,当您指出缺少标准功能时,有一个看似庞大且不透明的积压支持不断参考。

  • 托管 UI 中没有静默刷新功能,因此没有安全的方式来存储刷新令牌。
  • 不支持托管 UI 中的自定义身份验证流程
  • 托管 UI 中没有无密码支持
  • 无法在托管 UI 中预填充字段(例如用户名)
  • 无法在自定义 UI 中自定义过多的晦涩错误消息
  • 现在已修复,但多年来电子邮件地址是区分大小写的!

如果您选择不使用托管 UI,则无法获得任何 oauth 范围。

您可以将许多非 oauth cognito idp 调用与访问令牌一起使用:https ://awscli.amazonaws.com/v2/documentation/api/latest/reference/cognito-idp/index.html

如果这些不符合您的需求,我建议您考虑其他身份验证服务,或者如果您选择继续使用 Cognito,请调整您的期望。祝你好运!


推荐阅读