역할
Resource Owner: 일반적인 유저.
Resource Server: 보호된 데이터를 호스팅하는 서버. 네이버, 카카오.. 등 개인정보를 제공하는 서버
Client: Resource Server에 대한 액세스를 요청하는 프로그램 (Resource Owner가 가입하고자하는 사이트)
Authorization Server : Resource Server가 Client에게 Access Token을 발행한다. 이 토큰은 Client가 Resource 서버에 전송하는 Request에 포함된다.
토큰
토큰은 권한부여서버에서 생성된 임의의 문자열이며 클라이언트가 Request를 전송할 때 발행된다.
- AccessToken : Client가 Resource Server로부터 Resource Owner의데이터를 요청할때 필요한 토큰.
Request헤더나, request Parameter로 Resource Server에 전송해야 한다. 권한부여서버에 의해 만료시간이 정해져 있다.
- Refresh Token : AccessToken과 함께 발행되지만, Client의 모든 Request에 담기지는 않는다. AccessToken이 만료되었을때 갱신하기 위해서 권한부여서버로 전송된다.
액세스 토큰 범위
AccessToken의 권한을 제한하는데 사용되는 매개변수이다. Client는 Resource Owner의 데이터 중 사용할 범위를 Request에 담아서 권한부여 서버로 보내야 한다.
OAuth2를 사용하여 ResourceServer에서 데이터를 검색하기
1) Resource Server의 Client로 등록하기
Client App 등록
- 응용프로그램 이름 :
- Redirect URL : 인증코드 및 AccessToken을 수신하기위한 Client의 URL
- Grant Type : Client가 사용할 Resource Owner가 가진 데이터의 범위
- Javascript Origin (option) : XMLHttpRequest를 통해 자원 서버를 요청할 수 있는 hostName (추측컨데, Redirect URL페이지로 보내는것이 아니라 비동기방식으로 인증코드랑 AccessToken을 보내는듯.)
Resource Server의 응답
Client id : 유일한 랜덤 문자열
Client Secret : 기밀로 유지해야 하는 비밀키
'Today I learned' 카테고리의 다른 글
[vue.js] 본격 생존코딩! 밥벌이를 해보자! (1) (0) | 2020.06.29 |
---|---|
[OAuth2] 권한 부여 종류 (0) | 2020.06.19 |
여러가지 연습 코드 (0) | 2020.06.17 |
Real World HTTP (0) | 2020.06.15 |
[js]헷갈리는 문법 정리 (0) | 2020.06.15 |
댓글