역할
- Resource Owner: 고객
- Resource Server: 카카오 / 구글 같이 인증 주체
- Client: 인증을 활용할 서비스
등록 및 Resource Owner의 승인
- 등록이라 함은, 해당 이용할 인증 주체에 다음 값을 입력하거나 부여받는 것을 의미
- Client ID: 받을 클라이언트 ID값
- Client Secret: 토큰 값
- Authorized redirect URIs: 인증을 받을 콜백 URI
- Owner는 먼저 URL을 통해 client_id, scope, redirect_url을 Server에 전송
- Server는 로그인 화면을 제공함으로써 인증값을 받음
- https://www.youtube.com/watch?time_continue=343&v=UH5XnjkBqKE&feature=emb_logo
Resource Server의 승인
- 인증에 성공하게 된다면, authorization code를 발급하고 location에 정보를 담아서 Owner에 전달
- Owner는 바로 client에 authorization code를 전달
- Client는 authorization code를 받아 access token을 Server에 요청
- https://www.youtube.com/watch?time_continue=246&v=O0Rx9SRPzs4&feature=emb_title
Access Token의 발급
- client에서 요청받은 Activation Code를 삭제하고 AccessToken을 발급
- AccessToken을 Client에서 저장하고 userId와 scope를 통해 기능 부여
- https://www.youtube.com/watch?v=BofCK1oWAyc
API 호출과 Refresh Token
- 이제 발급받은 token으로 API를 호출
- token에는 유효기간이 있으며, 만료 경우에는 refresh 토큰을 제공
- token만 갱신하는 방식과 refresh token을 같이 갱신하는 방식이 존재
'Web > 인증' 카테고리의 다른 글
Session & Token 방식 (1) | 2023.01.24 |
---|---|
HTTP 쿠키 (0) | 2022.06.29 |