1

我正在使用 CognitoUserPool (com.amazonaws.mobileconnectors.cognitoidentityprovider.CognitoUserPool),我使用 getSessionInBackground 方法登录 CognitoUsers,使用 signUpInBackground 方法创建用户。

例如,对于登录:

    CognitoUser me = userPool.getUser(email);
    me.getSessionInBackground(new AuthenticationHandler() {
        @Override
        public void onSuccess(CognitoUserSession userSession, CognitoDevice newDevice) {
            //OK
        }

        @Override
        public void getAuthenticationDetails(AuthenticationContinuation authenticationContinuation, String userId) {
            String password = "mypassword";
            AuthenticationDetails details = new AuthenticationDetails(userId, password, null);
            authenticationContinuation.setAuthenticationDetails(details);
            authenticationContinuation.continueTask();
        }

        @Override
        public void getMFACode(MultiFactorAuthenticationContinuation continuation) {

        }

        @Override
        public void authenticationChallenge(ChallengeContinuation continuation) {
            ...
        }

        @Override
        public void onFailure(Exception exception) {
            //ERROR
        }
    });

和注册:

    CognitoUserAttributes userAttributes = getAttributesFromUser(ctx, u);

    SignUpHandler signupCallback = new SignUpHandler() {

        @Override
        public void onSuccess(CognitoUser user, SignUpResult signUpResult) {
            // Sign-up was successful
        }

        @Override
        public void onFailure(Exception exception) {
            // Sign-up failed, check exception for the cause

        }
    };

    userPool.signUpInBackground(u.email, "mypassword", userAttributes, null, signupCallback);

我想添加 Facebook 支持(我已经在应用程序中有一个 facebook 登录,并且我想将 facebook 登录的用户集成到 cognito 池中。文档说我必须在 AWSCredentials 中添加一个 Logins 对象,但我将我的用户池创建为:

    userPool = new CognitoUserPool(ctx, POOL_ID, CLIENT_ID, CLIENT_SECRET, clientConfiguration, Regions.EU_CENTRAL_1);

而且我还没有找到任何以 AWSCredentials 作为输入参数的构造函数。

我想将使用 facebook 登录的用户存储在我的 Amazon 用户池中,我已经有了带有 facebook 登录的自定义服务器,我正在将用户迁移到 Amazon,但我仍然有我的常规和 facebook 登录/注册 API。

提前致谢

4

0 回答 0