JAVAIARY

OAuth 본문

lectureNote/SPRING

OAuth

shiherlis 2022. 11. 20. 21:33

나의 애플리케이션(Client)

소셜로그인(서비스)제공자(Resource Server)   (+Authorization Server)

정보 소유자(Resource Server)

 

Client ID : 개발된 애플리케이션 식별 아이디

Client Secret : 개발된 애플리케이션의 비밀번호

Authorized redirect URIs(Callback URL) 

 

 

1. [리소스 오너]는 [클라이언트]에 접속하고 [클라이언트]는 [리소스오너]에게 소셜 로그인 버튼을 제공

    ex. 구글로 로그인하기, 네이버로 로그인하기 등....

           해당 버튼들의 URL은 다음과 같음

https://resource.server/?client_id=클라이언트아이디&scope=접근권한범위2,3&redirect_uri=콜백kurl

2. [리소스 서버]는 [리소스 오너]에게 [클라이언트]가 2,3 정보에 대한 접근 권한을 요청했으며, 정보 제공에 동의할 것인지를 물어봄

[리소스 서버]에 저장된 정보 : client id, client Secret, redirect URL 

3. [리소스 오너]가 동의하면 [리소스 서버]에 [리소스 오너]의 user id가 정보 2,3의 정보 제공을 동의 했다는 내용을 저장

    [리소스 서버]에 저장된 정보 : client id, client Secret, redirect URL, user id , scope 2, 3

4.  [리소스 서버]가 authorization code(임시 비밀번호) 를 [리소스 오너]에게 전송  

Location: 콜백 주소 ? code = 권한코드

5. [리소스 오너]가 임시 비밀번호를 가지고 Client에 접속

6. [클라이언트]가 [리소스서버]에 관련 정보 전송

https:// resource.server/token?
grant_type=authorization_code&
code=권한코드&
redirect_uri=콜백주소&
client_id=아이디&
client_secret=시크릿

7. [리소스서버]는 저장된 정보와 일치하는지 확인 후, authorization code 삭제, 액세스 토큰 발급

8. 발급된 액세스 토큰을 [클라이언트] 에 응답, [클라이언트]가 저장

 

 

'lectureNote > SPRING' 카테고리의 다른 글

Spring Security - 2. 로그인 처리  (0) 2022.12.16
Spring Security - 1. 환경설정  (0) 2022.12.14
비즈니스 로직과 서비스  (0) 2022.11.16
쿠키와 세션  (0) 2022.11.13
@ 어노테이션  (0) 2022.11.12