인증
사용자가 누구인지 확인하는 과정이다. 로그인 폼에서 이메일과 비밀번호를 확인하거나, 소셜 로그인으로 사용자의 신원을 확인하는 단계가 인증에 해당한다. 바이브 코딩에서는 AI가 로그인 기능을 빠르게 만들어 주지만, 비밀번호를 평문으로 저장하거나 만료 없는 로그인 상태를 만드는 실수가 자주 생긴다. 초보자는 인증을 '문 앞에서 신분증을 확인하는 일'로 이해하면 쉽고, 실제 서비스에서는 비밀번호 해시, 세션, JWT, OAuth 같은 방식 중 프로젝트 규모와 보안 요구에 맞는 방법을 선택해야 한다.
예시
Next.js 로그인 API를 만들 때 사용자가 입력한 이메일을 조회하고, 저장된 비밀번호 해시와 비교한 뒤 성공하면 세션 쿠키를 발급한다. AI에게 구현을 맡긴 뒤에는 실패 시 같은 오류 메시지를 반환하는지, 로그인 상태가 너무 오래 유지되지 않는지 확인한다.
참고
인증은 사용자의 신원 확인이고, 권한 부여는 인증된 사용자가 무엇을 할 수 있는지 판단하는 별도 단계다.
카테고리
보안·인증
난이도
basic
태그
인증 · 로그인
함께 읽기
연관 용어
보안·인증
쿠키
웹사이트가 브라우저에 저장해 두는 작은 데이터 조각이다. 로그인 상태 유지, 장바구니, 언어 설정처럼 다음 방문에도 기억해야 하는 정보를 담을 때 쓰인다. 편리하지만 인증 쿠키를 잘못 다루면 계정 탈취 위험이 생기므로 httpOnly, secure, sameSite 같은 보안 옵션을 함께 이해해야 한다.
보안·인증
세션
사용자가 사이트에 접속해 있는 동안 서버가 유지하는 상태 정보이다. 보통 브라우저에는 세션 ID만 쿠키로 저장하고, 실제 로그인 사용자 정보와 권한은 서버나 데이터베이스에 둔다. 바이브 코딩에서 로그인 기능을 만들 때 세션과 쿠키의 차이를 이해하면 민감한 사용자 정보를 브라우저에 과도하게 저장하는 실수를 줄일 수 있다.
보안·인증
교차 출처 리소스 공유
브라우저가 한 출처의 웹 페이지에서 다른 출처의 API를 호출할 때 적용하는 보안 규칙이다. 프론트엔드와 백엔드 도메인이 다르면 서버가 어떤 출처를 허용하는지 응답 헤더로 알려줘야 한다. 바이브 코딩 초보자가 '브라우저에서는 막히는데 터미널 curl은 된다'는 상황을 만날 때 CORS가 원인인 경우가 많다.