Oauth
자신이 소유한 리소스에 소프트웨어 애플리케이션이 접근할 수 있도록 허용해 줌으로써 접근 권한을 위임해주는 개방 형 표준 프로토콜
- 사용자가 한 번의 인가 절차로 다른 웹 서비스를 이용할 때, 로그인 자격 증명 ( 예를 들면 단일 ID 와 비밀번호)과 같은 개인정보를 전송하지 않고도 자신의 접근 또는 기타 권한을 부여 할 수 있도록 하는 것에 대한 공개 표준 프로토콜이다.
- 현재 많이 사용중인 OAuth2.0 Framework 다양한 클라이언트 환경에 적합한 인증(Authentication) 및 인가(Authorization)의 부여 방법을 제공하고 그 결과로 클라이언트에게 접근 토큰(Access Token)을 발급하는 것에 대한 구조이다.
4가지의 권한 부여 방법을 제공한다.
1. Authorization Code : Web , Mobile App에서 많이 사용한다. Access Token 을 위한 권한 인증 코드 (Authorization Code)를 받을 때 사용하는 인증
2. Implicit (Legacy) : Browser based App이나 Mobile App에서 많이 사용한다. 권한 인증 코드 없이 바로 Access Token을 받는다.
3. Password (Legacy) : 일반적인 아이디 / 비밀번호 입력 형태로 Access Token을 발급받는 방법 자체서비스에서만 사용되며 외부 개발자가 사용할 수 없도록 하는게 일반적이다.
4. Client Credencials : 사용자 ( User )가 아닌 Client ( 프로그램 )을 인가할 때 사용하는 방법 결과로 클라이언트에게 접근 토큰 (Access Token)을 발급한다. - Jwt token을 리턴받는다.
JWT와 Oauth의 차이
Jwt는 토큰의 한 종류이고 Oauth는 토큰을 요청할 때 사용할 수 있어야하는 요청 및 응답의 순서와 형식이 있고 각기 다른 시나리오에서 어떤 방 식으로 권한 부여 유형을 사용할지 정하는 프레임워크 이다.
Oauth Framework를 통해 발급된 Oauth Bearer Token은 사용자 정보와 같은 중요한 정보가 들어있는 토큰이 아니 며 랜덤한 문자열이 들어가있다. 반대로 Jwt 토큰은 명확한 정보를 가지고있는 토큰이다.
'TIL' 카테고리의 다른 글
Mybatis의 장점, 단점 Jpa의 장점, 단점 (0) | 2023.01.27 |
---|---|
Java SSL 인증서 파일 등록 하는법 정리(Keytool, Portecle 이용) (0) | 2023.01.26 |
RDS - MySQL (0) | 2023.01.07 |
N + 1 문제가 발생하는 이유 / 해결하는 방법 (0) | 2023.01.04 |
2022-12-14 ubuntu 시간 재설정 (0) | 2022.12.14 |
배달프렌드 사용자 분석 (0) | 2022.12.10 |
2022-12-06 today- I learned (0) | 2022.12.06 |
AWS EC2에 Redis server 설치하기 (우분투에 레디스 서버 설치하기) (0) | 2022.11.11 |