인증 : (식별 가능한 정보로) 서비스에 등록된 유저의 신원을 입증하는 과정
인가 : 인증된 사용자에 대한 자원 접근 권한 확인
인증 + 인가 : 자원을 적절한(유효한) 사용자에게 전달(공개)하기 위한 방법
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
보안과 사용자의 편의성 사이의 밸런스를 고려해야 할 것
'공부 기록 > 영상 후기' 카테고리의 다른 글
[10분 테코톡] 시카의 Java final과 불변 객체 (0) | 2023.04.26 |
---|---|
[10분 테코톡] 안돌의 INDEX (0) | 2023.04.26 |
[10분 테코톡] 제리의 MVC 패턴 (0) | 2023.04.26 |
Java 예외 - 6. checked vs unchecked exception (0) | 2023.04.26 |
Java 예외 - 4. 예외의 우선순위 (0) | 2023.04.26 |