2017-09-07 2 views
2

나는 사용자 등록 및 인증을 위해 Cognito를 사용하고 있습니다. 사용자가 이메일 주소를 확인하지 않고도 등록하고 로그인 할 수 있기를 바랍니다. (별도의 절차가 있습니다.)Cognito (확인 이메일 없음)

전자 메일 또는 SMS 확인이 필요하지 않도록 내 Cognito 사용자 풀을 설정했는데 다음과 같은 호출을합니다. 아직 확인되지 않은 계정으로 인해 실패가 반환됩니다.

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

오류 메시지는 '사용자가 확인되지 않았습니다.'입니다.

그럼 인증을 사용하지 않더라도 인증을 거치지 않으면 거부하는 것 같습니다. 자동 확인 이외의 다른 방법은 없습니까? 나는 전자 메일 주소를 확인하기를 원하는 사용자 프로세스의 어떤 시점에서 등록을위한 장벽으로 삼기를 원하지 않는다.

답변

3

기본적으로 사용자는 Cognito User Pools에서 확인되지 않으므로 이메일 또는 전화 확인 과정을 거치지 않으려면 수동으로해야합니다.

이렇게하려면이 코드와 람다 함수를 호출하는 Pre sign-up 트리거를 설정할 수 있습니다

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

    return event 

트리거는 기본적으로 각 인증 요청에 추가 처리를 할 수 있습니다. 이벤트 객체를 Lambda 함수의 출력으로 다시 전달해야합니다.