[OAuth] 등록 및 인증으로 access_token 받기까지

김기용·2021년 1월 14일
0

⚡️ Register(등록)

Client 가 Resource Server 와 Authorization Server 를 사용하려면 사전 등록절차가 필요하다. 이것이 Register

🕹 서비스마다 등록하는 절차가 상이하지만 아래의 기본 3가지는 동일하다.

1. Client ID

애플리케이션을 식별하는 ID

2. Client SECRET

애플리케이션의 비밀번호

3. Authorized Redirect URIs

Authorization Server에서 인증흐름이 끝났을대 redirect 해줄 주소. 만약 redirect uri 와 다른 주소에서 요청이 들어온다면 무시한다.

🕹 이렇게 3가지 정보를 등록하면 ClientResource Server 는 client ID, Client SECRET, Authorized Redirect URIs 정보를 가지게 된다.


⚡️ Authenticate(승인)

Resource Owner: 사용자
Client: 내가만든 어플리케이션
Authorization Server: 기능 B를 지원하는 구글

#1 사용자가 기능 B를 사용하기위해 클라이언트에 접속한다.

#2 기능을 쓰기위해서는 인증서버를 거쳐야하는데 사용자의 동의가 필요하다.

#3 동의를 하게되면 인증서버로 주소를 전달한다.

#4 만약 로그인이 되어 있지않다면 로그인요청을 보내고 로그인 승인이 되면 client 에 정보 위임을 해도 되는지 허가해달라는 요청을 사용자에게 보낸다.

#5 사용자가 위임 허가 동의한다.

#6 인증서버는 #3에서 보낸 주소를 분석후 client_id 와 기능상세scope 와 redirect_url이 일치한다면 사용자에게 Authorization Code를 발급해준다.

#7 사용자는 건네받은 authorization code 를 클라이언트 측에 전달하고

#8 클라이언트는 사용자에게서 건네받은 authorization code를 다시 authorization server 측에 전달한다.

#9 건네받은 정보가 일치하는지 확인하는 작업

#10 일치한다면 ACCESS_TOKEN 발행


profile
매일 새로운 배움을 통해 꾸준히 성장하는 것을 목표를 두고 있습니다. 논리적인 사고로 문제해결 하는것에 희열을 느끼고 언젠가 제가 만든 결과물들이 사람들에게 편이를 제공하며 사용되는 날을 간절히 소망하고 있습니다. 🙏

0개의 댓글