OAuth
- 사용자가 가입한 서비스의 API에 접근하기 위해 accessToken을 받아 API 서비스를 이용하는 방법
용어
- Authorization Server (3자 서비스)
- Resource Server (3자 서비스)
- Resource Owner (유저)
- Client (서비스)
절차
- 등록
- 등록은 각 3자 서비스에 API 사용 관련 사이트에서 등록
- 등록을 통해 얻는 3가지 필수 정보
- Client ID
- Client Secret (노출되면 절대 안됨)
- Authorized redirect URIs
- Authorized Code를 전달 받을 주소
- 인증
- 리소스 오너가 리소스 서버에게 클라이언트 접근을 승인한다는 것을 알려줌
- 클라이언트가 리소스 서버의 서비스 이용이 필요할 경우 리소스 오너에게 리소스 서버에게 인증 받을 것을 요구
- 로그인
- 리소스 오너는 리소스 서버로부터 해당 서비스를 클라이언트가 이용하는 것을 허용하는 처리를 함
- 로그인 할 때 이용 권한 설정
- 리소스 서버는 해당 클라이언트가 리소스 오너의 해당 서비스들을 이용하는 것을 기록함
- 리소스 서버가 클라이언트의 신원을 파악함
- 리소스 서버는 클라이언트가 맞는지 확인하기 위해 리소스 오너를 통해 클라이언트에게 Authorization Code를 전달
- 값을 받은 클라이언트는 값과 클라이언트 시크릿의 값을 리소스 서버로 전송해 클라이언트의 신원을 리소스 오너에게 증명
- Access Token 발급
- 위의 인증 과정을 모두 마치면 리소스 서버는 Authorization Code를 지우고(재인증 방지) 클라이언트에게 accessToken을 발급
API 호출