Please enable JavaScript to view the comments powered by Disqus.OAuth2 Access Tokens
Search
🧴

OAuth2 Access Tokens

태그
Oauth2
Access Token
Authentication
Authorization
공개여부
작성일자
2022/10/01
Access token 이란 무엇인가? application에서 API 요청시에 유저를 대표하는 것이다.
Access token 이 존재함으로써 application 에서 특정 부분의 user 소유의 데이터에 접근하도록 인가(authorization) 해주는 것이다.
access token 을 발급받았다. 이제 이것을 header 에 넣어서 사용한다.

Access token 의 포맷과 내용.

앞으로 계속해서 다룰 oauth2의 여러가지 고려하는 option 다를지라도, Access token 에는 다른 특정한 포맷이 존재하지 않는다. 이 token은 어떻게 보면 불분명한 문자열이며 이것을 가져와 HTTP 요청에 사용한다.
Resource server는 access token 이 무엇이며 어떻게 validate 를 해야하는지 알아야 한다. 하지만, application은 절대로 access token 이 무슨 뜻인지 알려고 하지 않는다.
즉, OAuth 에서는 토큰의 포맷도 내용도 중요하게 여기지 않는다는 것이다.
하지만, authorization 서버 입장에서 access token이 불분명하진 않다.
인가(authorization) 서버는 token 을 만들어서 발급하기도 하고, 보호된 resource 에 도착한 token 을 검증하기도 한다.

Secret

Access token 은 반드시 전송 혹은 보관시에 기밀로 유지되어야 한다.
이 access token 을 볼 수 있는 유일한 당사자는 application 자체, 권한 부여 서버, resource server에 해당한다.
심지어 token 의 저장소가 동일한 machine에서 구동되는 다른 application 도 접근할 수 없도록 해야한다.
이 access token 이 암호화 되지 않은 채널을 통해서 전달하면 제3자가 가로챌 수 있기 때문에 HTTPS 연결을 통해서만 사용해야 한다.

Access token 에 포함되어 있는 것

Client 가 요청한 접근 권한
Resource owner의 client 인가
인가 과정에서 client 에게 부여된 권한
일반적으로 접근할 수 있는 resource의 범위를 나타낸다.