언리얼 엔진 - 게임 프로젝트/AWS GameLift를 활용한 데디케이트 FPS 프로젝트

AWS Cognito - 8) 로그인 AWS 람다 생성

monstro 2026. 6. 6. 20:11
728x90
반응형

- 개요

유저 풀에 존재하는 사용자를 대상으로하는 로그인을 수행하는 AWS 람다를 생성한다

 

- 절차

1) 람다 함수 선언 + 정책 생성 및 설정

람다 함수 선언

 

AWS 콘솔에 접속하여 Lambda 탭으로 이동하여 람다 함수를 생성한다

해당 함수는 AWS Cognito와 관련된 작업을 수행하므로 동일하게 "Cognito"를 수식한다

 

람다 함수에 적용할 정책 생성 (1)

 

람다 함수에 적용할 정책을 생성한다

Cognito User Pools 서비스의 InitiateAuth API를 사용하도록 설정한다

 

람다 함수에 적용할 정책 생성 (2)

 

생성한 정책의 이름을 위와 같이 설정하여 정책을 생성한다

 

 

위에서 생성한 정책을 선언한 람다 함수에 적용한다

 

2) 람다 함수 정의

 

로그인 람다 함수와 동일하게 사용할 CLIENT_ID환경 변수와 REGION환경 변수를 추가한다

 

import { CognitoIdentityProviderClient, InitiateAuthCommand } from "@aws-sdk/client-cognito-identity-provider";

export const handler = async (event) => {
  const cognitoIdentityProviderClient = new CognitoIdentityProviderClient( { region: process.env.REGION } );
  const { username, password } = event;

  const initiateAuthInput = {
    AuthFlow: "USER_PASSWORD_AUTH",
    ClientId: process.env.CLIENT_ID,
    AuthParameters: {
      USERNAME: username,
      PASSWORD: password
    }
  };
  
  const initiateAuthCommand = new InitiateAuthCommand(initiateAuthInput);

  try {
    const initiateAuthResponse = await cognitoIdentityProviderClient.send(initiateAuthCommand);
    return initiateAuthResponse;
  } catch(error) {
    return error;
  }
};

 

람다 함수의 코드를 위와 같이 작성하였다

  • 환경 변수를 사용하여 특정한 리전에 존재하는 특정한 유저 풀을 사용하도록 설정
  • 사용자로부터 이름 + 비밀번호를 입력받도록 설정
  • InitiateAuthCommand API를 호출하여 로그인을 요청

 

3) 로그인 진행

로그인 람다의 테스트 데이터 정의

 

회원가입 람다의 테스트 데이터를 위와 같이 설정하여 회원가입에 사용한 데이터와 통일한다

 

- 최종 실행 결과

로그인 요청 실행 결과 (1)

 

로그인 요청 실행 결과 (2)

 

회원가입 - 회원인증 - 로그인의 과정을 거쳐 반환된 실행 결과는 위와 같다

로그인한 사용자에 대해 사용자 인증이 완료되어 토큰이 발급된 것을 확인할 수 있다

728x90
반응형