서버 인증 - 5가지 방식

박영준·2023년 1월 7일
0

Server

목록 보기
1/8

로그인(인증)을 위한 방법

1. 인증의 필요성

프론트엔드 관점에서는 사용자의 로그인, 회원가입과 같이 사용자의 도입부분을 가리키곤 한다.
서버 사이드 관점에서는 모든 API 요청에 대해 사용자를 확인하는 작업이다.
(서버 사이드: 클라이언트-서버 구조(네트워크의 한 방식)의 서버 쪽에서 행해지는 처리)

사용자 A와 사용자 B가 앱을 사용한다고 가정해보자.
서버에서는 A,B가 요청을 보냈을 때, 누구의 요청인지를 정확히 알아야 한다.
만일 그렇지 못한다면, 자신의 정보가 타인에게 유출되는 상황이 발생한다.

그러므로
앱(프론트 엔드) 에서는 자신이 누구인지를 알만한 단서를 서버에 보내야 하며,
서버는 그 단서를 파악해 각 요청에 맞는 데이터를 뿌려주게 된다.

2. 인증 방식

1) 계정정보를 요청 헤더에 넣는 방식

  • 가장 보안이 낮은 방식

  • 데이터를 요청할 때마다 사용자의 프라이빗한 정보를 계속해서 보낸다(암호화되지 않은 상태이다.)

    언제 사용되는가?
    개발 단계에서 인증을 테스트 시, 빠르게 시도 가능

참고: 서버 인증 - Session / Cookie 방식 (세션 기반 인증)

3) 토큰 기반 인증 방식 (JWT) (쿠키 기반 인증)

참고: 서버 인증 - 토큰 기반 인증 방식 (JWT) (쿠키 기반 인증)

4) Access Token + Refresh Token 인증 방식 (JWT)

참고: 서버 인증 - Access Token + Refresh Token 인증 방식 (JWT)

5) OAuth 2.0

참고: 서버 인증 - OAuth 2.0


참고: 쉽게 알아보는 서버 인증 1편(세션/쿠키 , JWT)
참고: 쉽게 알아보는 서버 인증 2편(Access Token + Refresh Token)
참고: 쉽게 알아보는 서버 인증 3편(SNS 로그인, OAuth 2.0)
참고: stateful과 stateless, 인증방식
참고: 쿠키, 세션(cookie, session)과 토큰 (token, JWT)의 차이점

profile
개발자로 거듭나기!

0개의 댓글