AWS CDK를 사용한 PasswordLess 인증
3924 단어 awsserverlesspasswordlesscdk
수년 동안 CloudFormation 및 YAML 파일로 작업했지만 마음에 들지 않았고 스택을 배포하고 오류, 특히 역할 및 권한과 관련된 오류를 파악하는 데 많은 시간을 할애했습니다.
몇 년 전에 저는 전체 아키텍처가 Serverless 인 회사에 입사했습니다. 저도 동일한 서비스로 작업하고 있었기 때문에 좋았습니다. 우리는 서버리스 프레임워크와 함께 IaC를 가지고 있었고 잘 작동했습니다. 그러나 YAML 파일로 작성하고 PR에서 검토하는 것은 솔직히 최고의 경험이 아니기 때문에 특히 개발자에게는 여전히 좋지 않았습니다.
당시 상사가 AWS CDK를 소개했고 그 당시에는 베타 버전이었기 때문에 운이 좋았습니다. 우리가 시도한 CDK의 첫 번째 버전은 성숙하지 않았지만 마음에 들었고 그 안에서 미래를 보았습니다. 그래서 우리는 CDK로 새 스택을 작성하고 천천히 이전 YAML 파일을 따라잡기로 결정했습니다.
우리는 CDK가 공식적으로 출시된 지 1년 만에 거의 해냈습니다.
CDK의 뛰어난 개념 중 하나는 사용자 정의constructs입니다. 인프라의 블록을 작성하고 여러 번 어디서나 사용할 수 있습니다.
CDK 설명서에는 이러한 사용자 지정 구성의 훌륭한 예가 있지만 Github에서도 자신의 구성을 구축하고 다른 사람과 공유하는 사람들을 찾을 수 있습니다.
이것은 멋진 CDK 구조 중 일부를 보여주는 repo입니다.
이 게시물에서는 몇 년 전에 구현하고 여러 프로젝트에서 사용한 구성에 대해 작성하려고 합니다.
AWS CDK PasswordLess 구성
아시다시피 AWS에는 내장된 암호 없는 인증이 없습니다. (Firebase와 같은 일부 서비스는 즉시 사용할 수 있습니다.)
그래서 하나를 만들고 내가 원하는 모든 프로젝트에서 사용할 수 있도록 사용자 지정 구성으로 만들기로 결정했습니다.
이 구성은 다음 리소스를 생성합니다.
용법
이 구성을 프로젝트에 추가하고 IaC의 일부로 사용할 수 있습니다.
yarn add aws-cdk-passwordless
import { CdkPasswordless } from "aws-cdk-passwordless";
new CdkPasswordless(this, "myPasswordLess", {
mailSubject: "myStack - signIn", // subject of the mail arriving with code to confirm
userPoolClientName: "myClientName",
verifiedDomains: ["gmail.com"], // emails with the domains that are allow to signup
postConfirmationLambda: lambda.Function(...) // passing a lambda which will be triggered after code confirmation
});
postConfirmationLamda
는 사용자가 코드 확인을 통과하고 웹사이트에 로그인한 후 호출하는 기능이라는 점에 유의해야 합니다. 거기에 논리가 있을 수 있습니다. 저는 일반적으로 해당 함수의 데이터베이스에 사용자 개체를 저장합니다.whole project in GitHub을 찾을 수 있으므로 여기에서 코드에 대한 자세한 내용은 다루지 않겠습니다.
하지만 질문이 있으시면 여기에 남겨주세요 :)
Reference
이 문제에 관하여(AWS CDK를 사용한 PasswordLess 인증), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/aws-builders/passwordless-authentication-with-aws-cdk-3af5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)