인증 (Authentication)은 건물 출입증 확인 같은 것 — '당신이 정말 그 사람 맞나요?'를 확인하는 절차로, 사이트가 방문자의 신원을 검증해 권한 있는 사람만 들어오게 하는 과정.
인증 (Authentication)은 호텔 프런트에서 체크인할 때 신분증을 확인하는 것과 같다. 방문자가 '나 홍길동이에요'라고 주장할 때, 사이트는 이메일·비밀번호 (Password)·소셜 계정 (Social Account) 등으로 '진짜 홍길동이 맞는지' 검사한다. 확인이 끝나면 사이트는 세션 (Session) 이나 토큰 (Token) 이라는 임시 출입증을 발급해서 이후 요청마다 다시 로그인하지 않아도 되게 한다.
1인 비즈니스(1인 사이트 운영)를 운영하다 보면 인증은 거의 모든 곳에서 등장한다. 멤버십 사이트에서는 유료 회원만 콘텐츠를 볼 수 있게 막아야 하고, SaaS 도구 사이트에서는 사용자별 데이터를 분리해서 저장해야 하며, 커뮤니티에서는 로그인한 사람만 댓글을 달 수 있게 해야 한다. 쇼핑몰에서는 내 주문 내역을 나만 볼 수 있어야 하고, 뉴스레터 구독 관리 페이지에서도 본인만 수신 설정을 바꿀 수 있어야 한다. 인증이 없으면 모든 데이터가 누구에게나 열려 있는 셈이다.
초보가 자주 헷갈리는 점은 인증 (Authentication) 과 인가 (Authorization) 의 차이다. 인증은 '누구인지 확인'이고, 인가는 '무엇을 할 수 있는지 결정'이다. 호텔 비유로 하면 인증은 신분증 확인이고, 인가는 '이 카드로는 수영장만 이용 가능'처럼 권한을 나누는 것이다. AI와 코딩할 때 '로그인이 안 돼요'라고 하면 인증 문제이고, '로그인은 됐는데 페이지가 안 열려요'라고 하면 인가 문제일 가능성이 높다.
AI와 함께 나만의 사이트·서비스를 만드는 법을 강의에서 배워보세요.