如何使用AWS Cognito作为单点登录?

7

我有两个网站:

  • 用户注册,登录和其他功能(将在Cognito用户池中创建用户)
  • 用户个人资料(自我管理)

这两个网站位于不同的域名下。如何在这两个网站之间实现单点登录(SSO)?


1
请查看 https://aws.amazon.com/pt/blogs/apn/identity-federation-and-sso-for-saas-on-aws/。或许对您有所帮助。 - Dalton Cézane
2个回答

4

您可以通过以下方式进行操作

  • 在第一个站点上完成登录,获取令牌
  • 在第二个站点上使用此令牌

问题在于如何安全地从 A 站点传递带有到期值的令牌到 B 站点。Cognito 没有提供内置的 SSO 功能。您需要自行管理令牌的加密、存储和传输。


0

根据您是否为单独的域名提供单点登录(SSO),您可以选择一种方法。您可以使用存储令牌(如从AWS Cognito获取的id令牌(用户信息)和访问令牌(访问信息)),将其存储在本地存储或cookie中。

使用cookie的问题在于它们只能用于特定域名。因此,它们只允许单个域名的单点登录。如果您需要支持多个域名,则单个cookie解决方案无法满足该要求。 基于令牌的方法(例如OAuth2、OpenID Connect、SAML等)支持多个域名。令牌可以存储在本地存储中,可以被所有域名访问。或者,可以使用多个cookie,每个域名一个。


1
本地存储不支持跨域。 - Nick

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接