2016-09-06 5 views
0

Ich benutze ConfirmSignUp Methode, um Benutzer zu bestätigen, danach, wie kann ich einen Benutzer mit seiner E-Mail-Adresse und Passwort authentifizieren?Wie authentifiziere ich Benutzer mit Amazon PHP SDK von Amazon Congnito

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

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

fand ich die Methode InitiateAuth, aber es scheint nicht zu sein.

Mit dem JS SDK Beispiel (http://docs.aws.amazon.com/zh_cn/cognito/latest/developerguide/using-amazon-cognito-user-identity-pools-javascript-examples.html), kann JS Benutzer mit folgenden Code authentifizieren:

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); 
    }, 
}); 

ich Amazon PHP SDK (https://docs.aws.amazon.com/aws-sdk-php/v3/api/class-Aws.CognitoIdentity.CognitoIdentityClient.html).

Hat PHP SDK die gleiche Methode? oder wo finde ich ein Dokument darüber?

Jede Hilfe wird geschätzt.

Antwort

0

Gegenwärtig unterstützt Cognito kein High-Level-SDK für PHP. Das niedrige Niveau SDK kann durch den Aufruf der APIs unter

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

Statt Aufruf InitiateAuth erwähnt verwendet werden, Sie AdminInitiate Auth API mit ADMIN_NO_SRP_AUTH Parameter nennen wollen, so dass Sie SRP nicht tun müssen, um Berechnung in PHP. Benutzerpools verwenden SRP, um Kennwörter zu überprüfen, deren Mathe ziemlich komplex ist. Die mobilen SDKs erledigen das für Sie, aber die Verwendung von admin no srp auth umgeht dies.