[typescript] 타입스크립트로 AWS SDK를 사용하여 Cognito로 사용자 인증하기

AWS Cognito는 사용자를 등록하고 관리하며, 인증을 제공하는데 사용할 수 있는 AWS의 서비스입니다. 타입스크립트를 사용하여 AWS SDK를 통해 Cognito를 사용자 인증에 이용하는 방법에 대해 알아보겠습니다.

AWS SDK 설치

첫째로, AWS SDK를 설치합니다. npm을 이용하여 아래 명령어로 필요한 패키지를 설치할 수 있습니다.

npm install aws-sdk

Cognito 설정

AWS Cognito 계정을 생성하고 사용자 풀(user pool)을 설정해야 합니다. 사용자 풀 설정창에서 필요한 정보를 확인하고, 타입스크립트 파일에 해당 정보를 입력해야 합니다.

다음은 Cognito 사용자 풀에서 얻을 수 있는 정보들입니다.

이 정보를 사용하여 SDK를 초기화할 수 있습니다.

사용자 로그인

다음으로, 타입스크립트 코드를 이용하여 사용자를 Cognito로 인증하는 방법을 살펴보겠습니다.

import { CognitoIdentityServiceProvider } from 'aws-sdk';

const cognito = new CognitoIdentityServiceProvider({ region: 'your-region' });

const params = {
  AuthFlow: 'USER_PASSWORD_AUTH',
  ClientId: 'your-client-id',
  AuthParameters: {
    USERNAME: 'username',
    PASSWORD: 'password'
  }
};

cognito.initiateAuth(params, (err, data) => {
  if (err) {
    console.log(err, err.stack);
  } else {
    console.log(data.AuthenticationResult);
  }
});

위 코드는 사용자의 이름과 비밀번호를 이용하여 Cognito로 로그인하는 내용을 담고 있습니다. 인증이 성공하면 AuthenticationResult 객체를 통해 액세스 토큰과 리프레시 토큰이 반환됩니다. 이 토큰을 사용하여 다양한 AWS 서비스에 액세스할 수 있습니다.

마무리

위에서 다룬 내용을 바탕으로, 타입스크립트를 사용하여 AWS SDK를 통해 Cognito를 사용자 인증에 이용하는 방법을 알아보았습니다.

더 자세한 정보는 AWS Cognito Developer Guide를 참조해주세요.