Как аутентифицировать пользователя с помощью Amazon PHP SDK от Amazon Congnito

я использую ConfirmSignUp способ подтверждения пользователя, после этого, как я могу аутентифицировать пользователя по его электронной почте и паролю?

$identityProvider = AWS::createClient('CognitoIdentityProvider');

$result = $identityProvider->confirmSignUp([
'ClientId'         => 'MY_CLIENT_ID',
'ConfirmationCode' => $code,
'Username'         => $username
]);

Я нашел метод InitiateAuth, но, похоже, нет.

С примером JS SDK ( http://docs.aws.amazon.com/zh_cn/cognito/latest/developerguide/using-amazon-cognito-user-identity-pools-javascript-examples.html ), JS может аутентифицировать пользователя с помощью следующего кода:

var cognitoUser = new AWSCognito.CognitoIdentityServiceProvider.CognitoUser(userData);
cognitoUser.authenticateUser(authenticationDetails, {
onSuccess: function (result) {
console.log('access token + ' + result.getAccessToken().getJwtToken());
},

onFailure: function(err) {
alert(err);
},
});

Я использую Amazon PHP SDK ( https://docs.aws.amazon.com/aws-sdk-php/v3/api/class-Aws.CognitoIdentity.CognitoIdentityClient.html ).

PHP SDK имеет тот же метод? или где я могу найти какой-то документ об этом?

Любая помощь приветствуется.

0

Решение

В настоящее время Cognito не поддерживает SDK высокого уровня для PHP. SDK низкого уровня можно использовать, вызывая API, упомянутые ниже,

http://docs.aws.amazon.com/aws-sdk-php/v3/api/class-Aws.CognitoIdentityProvider.CognitoIdentityProviderClient.html

Вместо вызова InitiateAuth, вы можете вызвать API AdminInitiate auth с параметром ADMIN_NO_SRP_AUTH, чтобы вам не нужно было выполнять вычисления SRP в PHP. Пулы пользователей используют SRP для проверки паролей, математика для которых довольно сложна. Мобильные SDK справляются с этим за вас, но используя admin, srp auth не обходит это.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]