2016-09-06 71 views
0

我使用ConfirmSignUp確認用戶的方法,之後,如何使用其電子郵件和密碼驗證用戶?如何使用亞馬遜康佳圖的亞馬遜PHP SDK對用戶進行身份驗證

$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不支持PHP的高級SDK。低級別的SDK可以通過調用API的下面提到的使用,

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

與其說InitiateAuth的,你可能需要調用與ADMIN_NO_SRP_AUTH參數AdminInitiate身份驗證API,這樣你就不需要做SRP用PHP進行計算。用戶池使用SRP來驗證密碼,其數學相當複雜。移動SDK爲您處理它,但使用管理員沒有srp auth繞過。