인증 / 로그인 (Authentication)
별칭: authentication · Auth · 인증 · 로그인 · 사용자 인증
사용자가 누구인지 확인해 서비스가 같은 사람을 알아보게 하는 과정.
인증은 이메일, 비밀번호, magic link, OAuth 같은 방식으로 사용자의 신원을 확인하는 과정이다. 로그인한 뒤에는 사용자 ID를 기준으로 저장 목록을 구분하고, 권한 정책과 RLS가 그 ID를 사용한다.
정의
인증(Authentication)은 사용자가 누구인지 확인하는 과정이다. 이메일·비밀번호, magic link, 일회용 코드, 소셜 로그인, SSO처럼 여러 방식이 있다. 인증이 성공하면 서비스는 현재 요청이 어떤 사용자에게서 왔는지 알 수 있다.
왜 중요한가
혼자 쓰는 데모에서는 로그인 없이도 저장 버튼이 동작하는 것처럼 보일 수 있다. 하지만 여러 사람이 같은 서비스를 쓰기 시작하면 누가 저장한 항목인지 구분해야 한다. 인증이 없으면 "내 저장 목록"이라는 개념을 안전하게 만들 수 없다.
Semiclass에서의 의미
신원 인장 단계에서는 생활정보 보드에 Supabase Auth를 붙인다. 사용자가 로그인하면 저장 테이블의 owner_id에 사용자 ID를 기록하고, 이후 저장 목록을 불러올 때 현재 사용자와 연결된 항목만 보여준다.
주의할 점
인증과 권한은 다르다. 로그인은 "당신이 누구인지" 확인하는 일이고, 권한은 "당신이 무엇을 할 수 있는지" 결정하는 일이다. 로그인 UI만 만들고 데이터베이스 권한을 열어두면 보안이 완성된 것이 아니다.