【问题标题】:Authenticate users using AWS Cognito + Azure AD + Facebook使用 AWS Cognito + Azure AD + Facebook 对用户进行身份验证
【发布时间】:2018-05-22 10:52:21
【问题描述】:

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

第一件事是我不了解 2 个标签“用户 池和联合身份”。我需要两者来完成它还是 仅用户池就足够了吗?

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

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

【问题讨论】:

    标签: facebook azure amazon-web-services authentication amazon-cognito


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 谢谢老兄,我明白了!那么移动应用程序呢?当您喜欢社交媒体登录并且无法使用内置的 Cognito UI 时。我是否应该改用 Facebook SDK,然后将数据(令牌 + user_data)传递给 Cognito?我正在使用本机反应
    • 您仍然可以使用用户池。如果你想拥有自己的 UI,你可以这样做。看看我对这个问题的回答。 stackoverflow.com/a/47035466/3479734
    猜你喜欢
    • 2016-09-27
    • 1970-01-01
    • 2018-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多