Authentication Authorization
Authentication Authorization
Authentication
- 개체(사용자)의 신원을 확인하는 행위; 인증이라고 함
- ID, password를 입력하는 행위가 가장 대표적인 인증
- 다음과 같은 방법들을 통해 인증
- HTTP 헤더: 사용자 정보를 HTTP 헤더에 담아 인증을 수행, 보안이 굉장히 낮음
- 세션 + 쿠키: 세션과 쿠키를 활용해 인증
- 토큰: JWT와 같은 토큰을 이용한 인증
- OAuth
Authorization
- 개체(사용자)의 보내는 요청을 실행할 수 있는 지 확인하는 행위; 인가라고 함
- 인가를 받은 사용자는 리소스 등에 접근 권한을 가짐
- JWT를 통해 인가를 수행하는 예시
- 인증을 통해 access token 생성하고 유저에게 전달
- 유저가 access token을 이용해 서버에 요청을 전송
- 서버는 access token을 이용해 user id를 얻음
- User id를 통해 해당 사용자가 권한을 가지고 있는지 확인하고 요청을 처리 혹은 반려
인증과 인가
- 사용자가 인증되면, 사용자에 대한 인가도 같이 수행 가능
- 그러나 인가를 받았다고 해서 인증을 할 수 있는 것은 아님
References
- https://yuna-library.tistory.com/19
- https://velog.io/@aaronddy/%EC%9D%B8%EC%A6%9DAuthentication%EA%B3%BC-%EC%9D%B8%EA%B0%80Authorization
- https://dextto.tistory.com/234