728x90
반응형
OAuth2
구글, 카카오, 네이버등 계정을 통해 쉽게 회원가입과 로그인이 가능하도록 하는 서비스로 즉, 소셜로그인 인증 방식
OAuth2 용어
- Resource Owner : 접근중인 리소스 유저
- Client : 보호된 리소스에 접근하는 애플리케이션
- Resource Server : Authorization Server 에서 발급한 토큰으로 접근하면 요청을 응답하는 서버
- Authorization Server : 클라이언트에게 엑세스 토큰을 발급하는 서버
- Authorization Grant : 클라이언트가 엑세스 토큰을 얻는 방법
- Authorization Code Grant Type ⭐⭐⭐
- Client Credentials Grant Type
- Implicit Grant Type
- Resource Owner Credentials Grant Type
- Refresh Token Grant Type ⭐⭐⭐
- Authorization Code
- Authorization Grant의 한 타입으로 엑세스 토큰을 발급 받기 위한 Code
- Cilent ID로 이 Code를 받아온 후, Client Secret과 Code를 이용해 엑세스 토큰을 받을 수 있다.
- Access Token : 리소스 서버에 접근할 수 있는 토큰
- Scope : 토큰의 권한 범위 정의
Authorization Code Grant : 권한 부여 승인 코드 방식
- 자체 생성한 Authorization Code를 전달하는 방식으로 가장 많이 쓰이고, 레프레시 토큰 사용이 가능
- 권한 부여 승인 요청시 응답 타입을(response_type)을 Code로 지정하여 요청
- Resource Owner가 Client에게 서비스 요청
- Client는 Authorization Server에 Authorization Code 요청 (Client ID, Redirect URI, 응답 타입 함께 전송)
- 로그인 팝업을 통해 Resource Owner가 로그인 진행
- 로그인 확인 후 Authorization Server는 Authorization Code를 Client에게 전달 (Client가 보낸 URI로 Code 전송)
- Client는 전달받은 Authorization Code와 미리 생성된 (Client Secret, Redirect URI, 권한부여방식)것을 함께 전송
- Authorization Server는 Authorization Code와 전송받을 것들을 확인 후 Redirect URI로 엑세스 토큰 발급
- Client는 발급된 엑세스 토큰을 사용해서 Resource Server에 접근하여 원하는 정보를 전달 받음
728x90
반응형
'IT 정보 > Authentication' 카테고리의 다른 글
[인증\보안] Spring Security 기본 (인증/ 인가) (3) | 2022.08.02 |
---|---|
[인증/보안] JWT(Json Web Token) 인증 (8) | 2022.07.29 |
[인증/보안] CORS란!? (5) | 2022.07.28 |
[인증/보안] 보안파트 애너테이션 (4) | 2022.07.28 |
[인증/보안] HTTP + 보안(Secure) (10) | 2022.07.21 |