【问题标题】:AWS Cognito User Pool with Facebook使用 Facebook 的 AWS Cognito 用户池
【发布时间】:2019-05-18 02:49:04
【问题描述】:

我有一个 AWS Cognito 用户池,我正在尝试在 Android 应用程序上添加 Facebook 登录。我的应用程序当前成功使用 facebook 登录,但未在我的用户池中创建用户。我已按照此处的说明进行操作

https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-social-idp.html#cognito-user-pools-social-idp-step-1

并且测试 url 会创建一个用户 (https://my_pool/login?response_type=code&client_id=my_id&redirect_uri=app://)。在我的应用程序中,我从 Facebook 获得了成功的响应,并使用 url 中的设置配置了我的 Facebook 开发人员应用程序。谁能帮忙解释为什么没有创建用户?

LoginManager.getInstance().registerCallback(mFacebookCallbackManager,
            new FacebookCallback<LoginResult>() {
                @Override
                public void onSuccess(LoginResult loginResult) {
                    // App code
                   Log.d(TAG, "Success");
                   --> This is called.
                }

                @Override
                public void onCancel() {
                    // App code
                    Log.d(TAG, "onCancel");
                }

                @Override
                public void onError(FacebookException exception) {
                    // App code
                    Log.d(TAG, "onError");
                }
            });

【问题讨论】:

  • 您使用什么代码在 Cognito 用户池中创建用户?

标签: android facebook amazon-web-services amazon-cognito


【解决方案1】:

当 Facebook 用户执行登录时,不会自动创建新的 Amazon Cognito 用户。要创建 Cognito 帐户,您需要使用 Cognito 的托管 UI。有一个通过 Gradle 分发的库,名称为 implementation 'com.amazonaws:aws-android-sdk-cognitoauth:2.9.1(或任何最新的数字)。

可以在https://github.com/awslabs/aws-sdk-android-samples/tree/master/AmazonCognitoAuthDemo找到样本

【讨论】:

  • 我不想使用托管 UI。我有自己的 UI,想通过 Facebook 使用 API 端点。
  • 对于您的用例,您不想使用基于 Web 的登录吗?我相信 Facebook 在某些情况下确实会使用基于 Web 的登录,除非您明确将其关闭。
  • 澄清一下,您可能有一个本机按钮,然后启动 Facebook 登录并集成到 Cognito。
猜你喜欢
  • 2018-05-16
  • 2017-10-30
  • 2020-06-14
  • 2018-08-23
  • 2021-09-05
  • 2018-01-31
  • 2018-11-07
  • 1970-01-01
  • 2020-07-22
相关资源
最近更新 更多