【问题标题】:AWS cognitos - Federated IdentitiesAWS cognito - 联合身份
【发布时间】:2018-04-26 09:31:14
【问题描述】:

我是 AWS 新手,正在学习 Cognito - Federated Identities。

我的项目中有一个要求,我需要针对 Active Directory(SAML 身份验证提供程序)对用户进行身份验证,然后使用 Cognito 提供访问令牌。此要求在外部提供者身份验证流程 >> 增强(简化)身份验证流程下的 https://docs.aws.amazon.com/cognito/latest/developerguide/authentication-flow.html 中有所描述。

所以基本上遵循以下步骤:-

  • 登录 AD 并获取 Id/auth 令牌
  • 将此令牌传递给 Cognito,Cognito 在内部针对 AD(SAML 提供程序)进行验证并颁发访问令牌(JWT 令牌)
  • 用户/客户端使用上述令牌访问 AWS 资源。

这是我的问题:-

可以按照以下步骤完成吗?

  • 用户/客户端将用户名和密码传递给 Cognito。
  • Cognito 使用 AD 验证凭据并生成访问令牌
  • 用户/客户端使用上述令牌访问 AWS 资源。

提前致谢。

【问题讨论】:

  • 当你说 AD 时。是内部的还是云端的?
  • 它是内部的。

标签: amazon-web-services


【解决方案1】:

如果您将 Cognito Federated Identities 与 SAML 连接,您提到的流程会略有不同。

  1. 用户想要登录并且他/她被您的应用程序重定向到 O365 域登录页面。
  2. 在此处提供凭据后,它将使用令牌重定向回已定义的应用程序 URL。
  3. 将该令牌传递给 Cognito 联合身份并获取可用于访问 AWS 资源的 AWS 访问令牌。

注意:如果您使用与 Cognito 联合身份池连接的 Cognito 用户池,如果您使用 SAML 将用户池连接到 AD,则可以省去手动处理第一步。它还将为登录 UI 提供托管 UI 功能。但是,如果您计划使用多种身份验证机制(如 Google、Facebook 和自行注册),则这种方法会增加每月活跃的联合用户超过 50 个免费层级的成本。

【讨论】:

  • 假设我使用与 Cognito 联合身份池连接的 Cognito 用户池并消除了第一步。我不想使用托管 UI 功能或任何其他登录 UI 登录。以下是否属实:- - 在使用用户名和密码调用一些 Cognito API 时,它会自动调用配置的用户池联合身份提供程序来验证用户身份,然后生成 JWT 令牌。如果是,请您参考/指导我。提前致谢。
  • 感谢阿山的回答。我在上面的评论中也将我的后续问题作为单独的帖子发布。 stackoverflow.com/questions/50067438/… 再次感谢。
猜你喜欢
  • 2018-04-05
  • 2018-11-07
  • 2016-12-29
  • 2017-06-08
  • 2023-04-03
  • 2019-02-09
  • 2018-07-30
  • 2018-01-24
  • 2020-12-17
相关资源
最近更新 更多