본문 바로가기

2024-06-18 유저 관리 기능에 대한 회고

codeConnection 2024. 6. 18.

Supabase를 이용한 회원가입, 로그인, 로그아웃 기능 구현

 

이번 팀 프로젝트에서 Supabase를 이용한 회원가입, 로그인, 로그아웃 기능을 맡아서 진행했다. 이를 통해 여러 가지를 배울 수 있었다.

 

먼저, Supabase는 Firebase와 유사한 BaaS(Backend as a Service) 플랫폼이라는 것을 알게 되었다. 특히, Supabase는 PostgreSQL을 기반으로 하고 있어서 SQL 쿼리를 직접 사용할 수 있었다. 이 점 덕분에 데이터베이스 작업이 더욱 직관적이고 유연하게 느껴졌다.

 

회원가입 기능을 구현할 때는 auth.signUp 메서드를 사용했다. 이 메서드를 통해 간단하게 이메일과 비밀번호를 기반으로 사용자를 등록할 수 있었다. 처음에는 API 사용법이 조금 생소했지만, 공식 문서를 참고하면서 차근차근 기능을 구현해 나갔다.

 

로그인 기능은 auth.signIn 메서드를 사용하여 구현했다. 사용자가 입력한 이메일과 비밀번호를 확인하고, 유효한 사용자라면 토큰을 발급받아 세션을 유지하도록 했다. 이를 통해 사용자 인증과 관련된 기본적인 흐름을 이해할 수 있었다.

 

로그아웃 기능은 auth.signOut 메서드를 이용해 간단하게 구현할 수 있었다. 이 메서드를 호출하면 사용자의 세션이 종료되어 로그아웃 처리가 완료된다. 이를 통해 사용자 인증 상태를 관리하는 방법을 배울 수 있었다.

 

이번 프로젝트를 통해 Supabase의 다양한 기능과 사용법을 익힐 수 있었고, 실제로 프로젝트에 적용해보면서 많은 실전 경험을 쌓을 수 있었다. 앞으로도 이러한 경험을 바탕으로 더 나은 기능을 구현할 수 있을 것 같다.

 

앞으로 더 해보고 싶은 과제

 

이번 경험을 통해 실전에서 더 해보고 싶은 욕심도 생겼다. 우선, 실시간 데이터베이스 동기화를 활용한 채팅 애플리케이션을 만들어보고 싶다. Supabase의 실시간 기능을 이용하면 사용자 간의 실시간 소통이 가능할 것이다.

 

또한, 소셜 로그인 기능을 구현해보고 싶다. 현재는 이메일과 비밀번호를 이용한 로그인만 구현했지만, 구글, 페이스북 등 소셜 계정을 통한 로그인을 추가하면 사용자 편의성이 크게 향상될 것이다.

 

마지막으로, 역할 기반 접근 제어(RBAC, Role-Based Access Control)를 도입하여 다양한 사용자 권한을 관리하는 시스템을 구현해보고 싶다. 이를 통해 관리자, 일반 사용자 등 다양한 권한을 가진 사용자들이 서로 다른 기능을 사용할 수 있게 할 수 있을 것이다.

 

이러한 과제들을 통해 Supabase를 더욱 깊이 이해하고, 더 복잡하고 다양한 기능을 구현할 수 있는 능력을 키우고 싶다.

진짜 아님. 그냥 팬임.

 

댓글