로그인 페이지를 다시 만들 필요가 없다면 어떨까요?
애플리케이션에서 로그인 페이지를 구축하는 것은 일반적으로 이메일과 비밀번호를 위한 데이터베이스 테이블과 같은 기본적인 사용자 데이터 저장에서 시작됩니다. 초기에는 이 데이터가 데이터베이스에서 직접 관리될 수 있습니다. 애플리케이션 요구 사항이 발전함에 따라 사용자를 생성, 업데이트 및 삭제하는 것과 같은 사용자 관리 기능이 애플리케이션 자체 내에 추가됩니다. 이는 유사한 로그인 및 사용자 관리 요구 사항을 가진 새로운 프로젝트가 발생할 때 코드 중복으로 이어집니다. 프로젝트 간에 기존 코드를 복사하고 수정하는 것은 비효율성과 잠재적인 버그 전파를 야기합니다. 예를 들어, 한 프로젝트에서 수정된 버그는 코드를 상속한 다른 모든 프로젝트에서도 수동으로 수정해야 합니다. 이 패턴은 인증 및 사용자 관리와 같은 일반적인 기능에 대한 반복적인 개발의 어려움을 강조합니다. 이를 해결하기 위해 재사용 가능한 모듈/라이브러리를 생성하거나 이러한 서비스를 위한 별도의 전용 애플리케이션을 개발하는 두 가지 주요 접근 방식이 제안됩니다. 후자는 종종 더 효율적이어서 프로젝트가 핵심 기능에 집중하고 유지 관리를 중앙 집중화할 수 있습니다. Auth0 및 Firebase Authentication과 같은 기성 솔루션은 이미 이 목적으로 존재합니다. 이 텍스트는 인증을 기능으로 제공하는 중앙 집중식 사용자 및 역할 관리를 위한 특정 플랫폼인 "Roled"를 소개합니다. Roled를 사용하면 애플리케이션이 인증 및 권한 관리를 단일 플랫폼에 위임하여 코드 중복을 피하고 유지 관리를 단순화할 수 있습니다. 이 접근 방식을 통해 각 애플리케이션은 자체 격리된 사용자 및 역할 시스템을 가질 수 있습니다.