BLOG

현재 일반적으로 사용 가능합니다: Amazon CognitoAuthentication 확장 라이브러리
작성일: 2019년 1월 9일

Amazon CognitoAuthentication 확장 라이브러리의 전반적인 가용성을 발표하게 되어 매우 기쁩니다! 일반 가용성 릴리스는 보안을 추가하고 성능을 향상시키며 이전에 사용 가능한 개발자 미리 보기에 버그를 수정합니다. 이 라이브러리는 .NET Core, Xamarin 애플리케이션, 대상 .NET 표준 2.0에 대한 Amazon Cognito 사용자 풀의 인증 프로세스를 단순화합니다.

 

Amazon Cognito 사용자 풀을 사용하면 개발자가 웹 및 모바일 애플리케이션에 등록 및 로그인 기능을 쉽게 추가할 수 있습니다. 사용자가 로그인하면 Amazon Cognito는 로그인한 사용자를 위해 ID 토큰을 프로비저닝합니다. 암호 외에도, Amazon Cognito 사용자 풀 인증 흐름은 사용자 ID를 확인하기 위한 새로운 도전 유형을 통합할 수 있도록 확장 가능합니다.

 

Amazon Cognito 사용자 풀은 서버 측에서 SRP(Secure Remote Password) 프로토콜을 기본적으로 지원하지만 클라이언트 애플리케이션은 자체 구현을 제공해야 합니다. Amazon CognitoAuthentication 확장 라이브러리는 이 프로토콜 구현의 복잡성을 제거합니다. 이것은 수백 줄의 어려운 암호 방식을 쓸 필요를 없애줍니다. 이제 몇 가지 간단한 메서드 호출을 사용하여 Amazon Cognito 사용자 풀로 직관적이고 간단한 인증을 사용할 수 있습니다.

 

SRP(Secure Remote Password) 프로토콜로 인증

 

직접 암호화 방법을 구현하는 대신 다음 개체만 생성하면 됩니다.

 

  • AmazonCognitoIdentityProviderClient
  • CognitoUserPool
  • CognitoUser
  • InitiateSrpAuthRequest

 

SRP 프로토콜의 시작은 StartWithSrpAuthAsync에 대한 단일 통화처럼 간단합니다.

 

InitiateSrpAuthRequest 개체에는 사용자의 암호만 필요합니다. 인증은 AuthFlowResponse 개체를 반환합니다. 인증에 성공한 경우 AuthFlowResponse 개체의 AuthenticationResult 속성은 사용자의 세션 토큰을 포함합니다.

 

예를 들어 다음과 같이 Amazon Cognito 사용자 풀 “poolId”를 암호 “userPassword”와 함께 사용자 “username”으로 인증할 수 있는 방법을 보여드리겠습니다.

 

using Amazon.Runtime;

using Amazon.CognitoIdentityProvider;

using Amazon.Extensions.CognitoAuthentication;

using System.Threading.Tasks;

 

public async Task AuthenticateWithSrpAsync()

{

    AmazonCognitoIdentityProviderClient provider = new AmazonCognitoIdentityProviderClient(FallbackRegionFactory.GetRegionEndpoint());

 

    CognitoUserPool userPool = new CognitoUserPool(“poolID”, “clientID”, provider);

    CognitoUser user = new CognitoUser(“username”, “clientID”, userPool, provider);

 

    string password = “userPassword”;

 

    AuthFlowResponse context = await user.StartWithSrpAuthAsync(new InitiateSrpAuthRequest

    {

        Password = password

    }).ConfigureAwait(false);

}

 

더 많은 챌린지 응답이 필요한 경우 AuthenticationResult 속성은 null이고 ChallengeName 속성은 다중 요인 인증과 같은 다음 과제를 설명합니다. 그런 다음 적절한 방법을 호출하여 인증 흐름을 계속하십시오.

 

.NET 개발자 안내서에서 AWS SDK의 라이브러리와의 통합 방법에 대한 추가 코드 샘플을 찾을 수 있습니다.

 

중요: 이전에 AWSSDK.Extensions.CognitoAuthentication라고 불렸지만 라이브러리는 지원되는 다른 확장 기능과 이름을 더 잘 조정하고 .NET용 AWS SDK에서 패키지를 구별하기 위해 Amazon.Extensions.CognitoAuthentication로서 현재 NuGet 갤러리에서 이용 가능합니다.

 

저희에게 연락하세요

여러분의 피드백을 알려주시고 GitHub의 출처를 확인해 보십시오!

 

.NET용 AWS SDK 커뮤니티에 가입하시고 Gitter에서 채팅하십시오.

 

GitHub 문제 페이지에서 기능 요청을 제출하거나 기존 기능에 대한 상향 투표를 수행하십시오.

 

원문 URL : https://aws.amazon.com/ko/blogs/developer/now-generally-available-amazon-cognitoauthentication-extension-library/

** 메가존클라우드 TechBlog는 AWS BLOG 영문 게재글중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아서, 정기적으로 게재하고 있습니다. 추가로 번역및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달해드리도록 하겠습니다.