본문 바로가기

공부 기록/영상 후기

[10분 테코톡] 토니의 인증과 인가

https://youtu.be/y0xMXlOAfss

인증 : (식별 가능한 정보로) 서비스에 등록된 유저의 신원을 입증하는 과정

인가 : 인증된 사용자에 대한 자원 접근 권한 확인

인증 + 인가 : 자원을 적절한(유효한) 사용자에게 전달(공개)하기 위한 방법

  

1. Request Header 활용 => 매번 인증해야 하는 문제점

2. Browser 활용 => 보안에 취약한 문제점

3. Session 활용 => 서버가 여러 대일 경우 세션 DB를 써야 하는 문제점 => 세션 DB 사용 시 과부하 문제점

  

4. Token 활용(Stateless)

JWT(Json Web Token) : 클라이언트의 토큰을 서버의 시크릿 키로 해독 및 인증. 만료기간 지정

Refresh Token : 만료된 access token + refresh token으로 요청 -> access token 갱신

- 장점 : 토큰으로 상태 관리를 하기에 따로 세션을 둘 필요가 없다.

- 단점 : 토큰 관리를 해야 한다. 결국 토큰도 탈취당할 수 있다.

  

5. 다른 서비스를 통해 인증 받기 => OAuth

  

보안과 사용자의 편의성 사이의 밸런스를 고려해야 할 것