使用AWS Cognito + Azure AD + Facebook对用户进行身份验证

问题描述 投票:1回答:1

我正在尝试开发一个React应用程序,允许用户使用他们的Azure AD帐户和他们的Facebook帐户登录。

第一件事是我不明白2个标签“用户池和联合身份”。我是否需要两者来完成它或只是用户池就足够了?

我的目标只是认证。我不想允许用户访问任何AWS服务。我只想要身份验证令牌。

我已经让用户通过Facebook使用联合身份识别和Facebook SDK登录,但我不知道如何在从facebook auth获取令牌后保存用户数据。使用facebook SDK也是正确的,还是我应该使用Cognito来处理所有身份验证方法?

facebook azure amazon-web-services authentication amazon-cognito
1个回答
1
投票

我是否需要两者来完成它或只是用户池就足够了? 如果您只需要身份验证而不需要使用AWS服务,那么Userpool就足够了。

我已经让用户通过Facebook使用联合身份识别和Facebook SDK登录,但我不知道如何在从facebook auth获取令牌后保存用户数据。 您需要保存哪些用户数据。如果您希望将用户的个人资料数据保存在Cognito中,则需要使用Cognito Userpool而不是Federated Identities。将Facebook直接添加到Userpool。在使用Facebook登录时,基于令牌中可用的所有用户数据在用户池中自动创建用户。请参阅this doc,了解如何直接将Facebook添加到用户池。

使用facebook SDK也是正确的,还是我应该使用Cognito来处理所有身份验证方法? 取决于您的用例。如果您只想为应用程序添加身份验证,最好的方法是直接将Facebook添加到Userpool,在应用程序池中为您的应用程序创建应用程序客户端;为该应用客户端启用Facebook并使用Cognito Userpool的内置UI来使用Facebook登录。此功能(内置UI)称为App Integration。 Facebook登录成功后,将向您的应用发送有效令牌。请注意,发送到您应用的令牌将来自Cognito。

客户端 - > Userpool内置UI - >重定向到Facebook - >使用用户名+密码登录 - > Facebook将其令牌发送给Cognito(https://your-user-pool-domain/oauth2/idpresponse)-->用户池自动发送其令牌并重定向到redirect_uri中提到的URL。

© www.soinside.com 2019 - 2024. All rights reserved.