Пул пользователей Amazon Cognito и Facebook Войдите в систему Android - PullRequest
0 голосов
/ 17 марта 2020

Я использую CognitoUserPool (com.amazon aws .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 в пул когнитивных систем. Документы говорит, что мне нужно добавить объект Logins в AWSCredentials, но я создаю свой пул пользователей как:

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

, и я не нашел никакого конструктора с AWSCredentials в качестве входного параметра.

Я хочу сохранить пользователей, зарегистрированных с помощью Facebook, в моем пуле пользователей Amazon , у меня уже есть свой пользовательский сервер с входом на Facebook, я переношу пользователей на Amazon, но у меня все еще есть свои обычные API для входа и регистрации на Facebook.

Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...