2016-07-02 7 views
0

私のJavascriptのswebsiteにあるCognito User Poolアカウントのパスワードを忘れた場合、AWSによるCognitoのマニュアルは無意味なようです

ユーザープールがベータ版になっているため、ドキュメントの一部が不足しています。この場合は奇妙です。 AWSでは、次のコードは次のように主張しています。

認証されていないユーザーのパスワードを忘れた場合は、開始して完了します。コードされた状態で

cognitoUser.forgotPassword({ 
     onSuccess: function (result) { 
      console.log('call result: ' + result); 
     }, 
     onFailure: function(err) { 
      alert(err); 
     }, 
     inputVerificationCode() { 
      var verificationCode = prompt('Please input verification code ' ,''); 
      var newPassword = prompt('Enter new password ' ,''); 
      cognitoUser.confirmPassword(verificationCode, newPassword, this); 
     } 
    }); 

は、誰もがこのコードの意味を理解、あるいは少なくともそれは一見無意味であることを否定する/確認することができますか?

これは、次のリンクで見つけることができます:http://docs.aws.amazon.com/cognito/latest/developerguide/using-amazon-cognito-user-identity-pools-javascript-examples.html

+0

これは、ユーザーフォーラムを通じて直接AWSの注目を集めたほうがよいでしょう。 – jbird

+0

私は開発者フォーラムに何度か投稿してみましたが、誰も返事をしてくれなかったので、もう一度やり直してください。 –

+1

表示される特定の問題は何ですか?それは構文的に有効ですか?あなたはそれを試しましたか?確認コードはコグニートのインフラストラクチャから送信されるようですので、別のパス(ユーザーのメールアドレスやSMS経由の電話番号など)を入力する必要がありますか? –

答えて

0

例が動作するはずです。認証されていない確認済みのユーザーでも動作します。プールとユーザー名のデータがセットアップされると、この例を実行できます。 forgotPassword関数は、失敗、成功、または新しいパスワードと認証コード情報を要求すると、関連するコールバックを呼び出します。

var poolData = { 
    UserPoolId : 'YOUR_USER_POOL_ID', 
    ClientId : 'YOUR_APP_ID' 
}; 

var userPool = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserPool(poolData); 
var userData = { 
    Username : 'YOUR_USER_NAME', 
    Pool : userPool 
}; 

var cognitoUser = new AWSCognito.CognitoIdentityServiceProvider.CognitoUser(userData); 

cognitoUser.forgotPassword({ 
    onSuccess: function (result) { 
     console.log('call result: ' + result); 
    }, 
    onFailure: function(err) { 
     alert(err); 
    }, 
    inputVerificationCode() { 
     var verificationCode = prompt('Please input verification code ' ,''); 
     var newPassword = prompt('Enter new password ' ,''); 
     cognitoUser.confirmPassword(verificationCode, newPassword, this); 
    } 
}); 

我々はパブリックベータ版の後にドキュメントを改善することができるように意味がない部分は何ですか?フローが間違っているか、情報が欠落していますか?

1

例にプロンプ​​トが表示されているものは、実際はちょっと奇妙です。あなたはおそらくこれを別にしたいと思うでしょう。あなたが実際にforgotPasswordプロセスを開始した後のlocalStorageから現在cognitoUserを取得することにより、別途confirmPasswordを呼び出した後、あなたがこのような現在のcognitoUserを得ることができますcognitoUser.confirmPassword

呼び出すことができます。

var data = { UserPoolId : 'us-east-1_Iqc12345', // Your UserPoolId 
     ClientId : '12345du353sm7khjj1q' // Your client ID 
    }; 
    var userPool = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserPool(data); 
    var cognitoUser = userPool.getCurrentUser(); 

そして、あなたは

を呼び出すことができます
cognitoUser.confirmPassword(verificationCode, newPassword, { 
    onSuccess: function(result){ 
     // Do stuff on success 
    }, 
    onFailure: function(err){ 
     // Do stuff on error 
    } 
}); 
関連する問題