User, Resource Server, Client가 참여하는 안전한 인증 과정
User의 요청에 의해 ID, PW 대신 AccessToken 보냄.
AccessToken을 통해 Resource Server에 접근.
- Resource Server : 네이버, 구글 등
Resource Server에 등록해야 사용 가능.
-> Client ID, Client Secret(비밀번호), Authorized redirect URIs
- User가 로그인(승인)하면 Resource Server에 정보(ID, secret)가 전송됨.
- Resource Server가 Authorization code(임시 비밀번호)를 URI에 담아 User에게 전송(리다이렉트)
- 해당 URI로 이동하면 Authorization code가 client로 전송됨
- authorization code, redirect URI, client ID, client secret를 Resource Server에 전송
- 전달받은 정보가 일치하면 Authorization code 지우고(재인증 할 필요 없으므로) AccessToken 발급
- AccessToken을 Client에 전달
- RFC(Refresh Token)
API 호출시 Access Token 전송하려는데 Invalid Token Error(유효기간 만료) 발생시 Refresh Token 전달해 Access Token 다시 발급받음.
Ref. 생활코딩 Web2 - OAuth 2.0