【问题标题】:How to authenticate user with Amazon PHP SDK of Amazon Congnito如何使用 Amazon Cognito 的 Amazon PHP SDK 对用户进行身份验证
【发布时间】:2017-01-13 20:12:06
【问题描述】:

我使用 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 有相同的方法吗?或者我在哪里可以找到有关它的一些文件?

感谢任何帮助。

【问题讨论】:

    标签: php amazon-web-services amazon-cognito


    【解决方案1】:

    目前 Cognito 不支持 PHP 的高级 SDK。底层SDK可以通过调用下面提到的API来使用,

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

    您可能希望使用 ADMIN_NO_SRP_AUTH 参数调用 AdminInitiate auth API,而不是调用 InitiateAuth,这样您就不需要在 PHP 中进行 SRP 计算。用户池使用 SRP 来验证密码,其数学运算相当复杂。移动 SDK 会为您处理它,但使用 admin no srp auth 会绕过它。

    【讨论】:

      猜你喜欢
      • 2019-06-29
      • 2020-08-15
      • 1970-01-01
      • 2017-08-03
      • 2018-12-08
      • 2018-11-20
      • 1970-01-01
      • 1970-01-01
      • 2022-06-19
      相关资源
      最近更新 更多