[AWS Cognito] 이메일 인증 안하고 사전 로그인 시키는 방법 (Cognito without Verifying Email)

남양주개발자

·

2020. 3. 12. 11:05

728x90
반응형

AWS Cognito의 기본 인증 프로세스에서는 이메일 가입을 할 때 이메일 인증절차를 거치게 되어있습니다. 하지만, 이메일 인증절차 없이 가입을 시켜야 될 상황이 생길 수 있습니다. 이번 포스팅에서는 이메일 인증을 하지 않고 사전 로그인시키는 방법에 대해서 알려드리도록 하겠습니다.

 

우선 Cognito UserPool에 진입한 후 Triggers/Pre sign-up을 보시면 가입 전 람다 함수를 설정할 수 있는 패널을 확인하실 수 있습니다.

 

람다 함수를 추가하기 위해서는 함수를 생성해야됩니다. 아래처럼 람다 함수를 작성해주고 함수를 배포합니다.

exports.handler = (event, context, callback) => {

    // autoConfirmUser 플래그를 true로 설정해주면 인증없이 로그인 가능
    event.response.autoConfirmUser = true;

    // 이메일 인증 관련 처리
    if (event.request.userAttributes.hasOwnProperty("email")) {
        event.response.autoVerifyEmail = true;
    }

    // 핸드폰 인증 관련 처리
    if (event.request.userAttributes.hasOwnProperty("phone_number")) {
        event.response.autoVerifyPhone = true;
    }
    
    // Return to Amazon Cognito
    callback(null, event);
};

 

아래 구문이 핵심입니다. 유저가 가입을 할 때 람다함수가 가입 전에 실행되게 되는데 autoConfirmUser를 강제로 true로 변경해줌으로써 자동으로 인증이 되었다고 가정하고 가입을 진행하게 됩니다.

event.response.autoConfirmUser = true;

서비스의 목적에 따라서 Email, Phone 인증과 관련된 절차는 추가적으로 작성해주시면 됩니다.

event.response.autoVerifyEmail = true; // email
event.response.autoVerifyPhone = true; // phone

작성한 람다 함수를 처음에 설명드렸던 Triggers/Pre sign-up의 람다 함수에 생성한 람다 함수를 넣어주면 이메일 인증을 거치지 않고 사전 로그인을 시킬 수 있게 됩니다.

728x90
반응형
그리드형

이 포스팅은 쿠팡파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

💖 저자에게 암호화폐로 후원하기 💖

아이콘을 클릭하면 지갑 주소가자동으로 복사됩니다