OAuth 2.0(Open Authorization)?
- 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 표준
- 구글, 페이스북, 카카오, 네이버 등에서 제공하는 간편 로그인 기능이 해당 프로토콜 기반
주요 용어
Authentication | 인증, 접근 자격이 있는지 검증하는 단계 |
Authorization |
인가, 자원에 접근할 권한을 부여. 인가가 완료되면 리소스 접근 권한이 담긴 Access Token이 클라이언트에게 부여됨. |
Access Token | 리소스 서버에게서 리소스 소유자의 보호된 자원을 획득할 때 사용되는 만료 기간이 있는 Token. |
Refresh Token | Access Token 만료시 이를 갱신하기 위한 용도로 사용하는 Token. Refresh Token은 일반적으로 Access Token보다 만료 기간이 김. |
Authorization Server | 권한을 부여해주는 서버. 사용자는 이 서버로 ID, PW를 넘겨 Authorization Code를 발급 받을 수 있음. Client는 이 서버로 Authorization Code을 넘겨 Token을 받급 받을 수 있음. |
Resource Server | 사용자의 개인정보를 가지고있는 애플리케이션 (Google, Facebook, Kakao 등) 회사 서버. Client는 Token을 이 서버로 넘겨 개인정보를 응답 받을 수 있음. |
왜 사용해야 할까?
스스로 서버를 구축하고 개인정보를 저장 및 관리하는 일이 어려움(개인정보 이슈 문제 등...)
-> 개인정보 관리책임의 대부분을 서드파티 애플리케이션(네이버, 구글, 카카오) 등에 위임 가능!
JWT와 OAuth 2.0의 차이?
OAuth 2.0는 하나의 플랫폼의 권한(아무 의미없는 무작위 문자열 토큰)으로 다양한 플랫폼에서 권한을 행사할 수 있게 해줌으로써 리소스 접근이 가능하게 하는데 목적을 둠. 즉 권한 부여 프레임워크!
JWT는 Cookie, Session을 대신한 의미있는 문자열 토큰으로써 권한을 행사할 수 있는 토큰의 한 형식!
'Cs' 카테고리의 다른 글
GET과 POST의 차이 (0) | 2024.10.15 |
---|---|
라이브러리와 프레임워크의 차이 (0) | 2024.06.11 |
IP (0) | 2024.06.11 |
HTTP (0) | 2024.06.11 |
DOM (0) | 2024.03.10 |