如何使用 Amazon Cognito 的 Amazon PHP SDK 对用户进行身份验证
How to authenticate user with Amazon PHP SDK of 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);
},
});
我使用亚马逊 PHP SDK ( https://docs.aws.amazon.com/aws-sdk-php/v3/api/class-Aws.CognitoIdentity.CognitoIdentityClient.html )。
PHPSDK有同样的方法吗?或者我在哪里可以找到有关它的文档?
感谢任何帮助。
目前 Cognito 不支持 PHP 的高级 SDK。底层SDK可以调用下面提到的APIs,
您可能希望使用 ADMIN_NO_SRP_AUTH 参数调用 AdminInitiate auth API,而不是调用 InitiateAuth,这样您就不需要在 PHP 中进行 SRP 计算。用户池使用 SRP 来验证密码,其数学计算相当复杂。移动 SDK 会为您处理它,但使用 admin no srp auth 可以绕过它。
我使用 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);
},
});
我使用亚马逊 PHP SDK ( https://docs.aws.amazon.com/aws-sdk-php/v3/api/class-Aws.CognitoIdentity.CognitoIdentityClient.html )。
PHPSDK有同样的方法吗?或者我在哪里可以找到有关它的文档?
感谢任何帮助。
目前 Cognito 不支持 PHP 的高级 SDK。底层SDK可以调用下面提到的APIs,
您可能希望使用 ADMIN_NO_SRP_AUTH 参数调用 AdminInitiate auth API,而不是调用 InitiateAuth,这样您就不需要在 PHP 中进行 SRP 计算。用户池使用 SRP 来验证密码,其数学计算相当复杂。移动 SDK 会为您处理它,但使用 admin no srp auth 可以绕过它。