OAuth 2.0
라는 기술을 바탕으로 구현된다.OAuth
는 인증을 중개해 주는 메커니즘이다.OAuth 인증 방식에는 여러 가지가 있지만, 그중 Implicit Grant Type, Authorization Code Grant Type, 그리고 Refresh Token Grant Type, 이렇게 세 가지에 대해서 알아보자.
- 사용자가 Application에 접속한다.
- Application에서 Authorization Server로 인증 요청을 보낸다.
- Authorizaiton Server는 유효한 인증 요청인지 확인한 후 액세스 토큰을 발급한다.
- Authorization Server에서 Application으로 액세스 토큰을 전달한다.
- Application은 발급받은 액세스 토큰을 담아 Resource Server로 사용자의 정보를 요청한다.
- Resource Server는 Application에게서 전달받은 액세스 토큰이 유효한 토큰인지 확인한다.
- 유효한 토큰이라면, Application이 요청한 사용자의 정보를 전달한다.
- 사용자가 Application에 접속한다.
- Application에서 Authorization Server로 인증 요청을 보낸다.
- Authorizaiton Server는 유효한 인증 요청인지 확인한 후 Authorization Code를 발급한다.
- Authorization Server에서 Application으로 Authorization Code를 전달한다.
- Application이 Authorization Code로 발급받은 Authorization Code를 전달한다.
- Authorizaiton Server는 유효한 Authorization Code인지 확인한 후 액세스 토큰을 발급한다.
- Authorization Server에서 Application으로 액세스 토큰을 전달한다.
- Application은 발급받은 액세스 토큰을 담아 Resource Server로 사용자의 정보를 요청한다.
- Resource Server는 Application에게서 전달받은 액세스 토큰이 유효한 토큰인지 확인한다.
- 유효한 토큰이라면, Application이 요청한 사용자의 정보를 전달한다.