2017-09-07 4 views
2

私はユーザー登録と認証にCognitoを使用しています。ユーザーが自分のメールアドレスを確認しなくても登録してログインできるようにしたいです(このための別のプロセスがあります)Cognitoを確認していないメール

電子メールまたはSMSの検証を必要としないようにCognito User Poolを設定しました。私は次の呼び出しを行います。まだ検証されていないアカウントのために失敗しました。

cognitoUser.authenticateUser(authenticationDetails, { 
      newPasswordRequired: function (userAttributes, requiredAttributes) { 
       callback.cognitoCallback(`User needs to set password.`, null); 
      } 

エラーメッセージは「ユーザーが確認されていません」です。

私が検証をオフにしたとしても、私が検証されていなければ、APIは拒否しているようです。これは本当に自動検証以外の方法はありませんか?私は電子メールアドレスを確認したいユーザープロセスのいくつかの時点で、登録の障壁としては望んでいません。

答えて

3

デフォルトでは、ユーザーはCognito User Poolsで確認されないため、電子メールまたは電話による確認処理を行わないようにするには、手動で行う必要があります。

これを行うには、このコードのラムダ関数を呼び出すPre sign-upトリガーを設定することができます。

def lambda_handler(event, context): 
    event['response'] = { 
     'autoConfirmUser': True, 
     'autoVerifyEmail': False, 
     'autoVerifyPhone': False 
    } 

    return event 

トリガは基本的には各認証要求に対して追加の処理を行うことができます。ラムダ関数の出力としてイベントオブジェクトを戻さなければならないことに注意してください。

関連する問題