본문 바로가기

Javascript

[생활코딩: OAuth - 6,7편] 엑세스토큰의 발급과 api호출

이전 시간에 client가 resourceOwner(유저)를 통해서 인증코드를 받고,

그 인증코드와 함께 client가 resourceServer에 직접 데이터를 전송하는 과정을 봤다. 

인증코드와 시크릿 코드, 클라이언트 아이디, redirectURI를 전송하는 것이다. 

 

그럼 그 다음 단계는? 엑세스토큰을 발급하는 것이 OAuth의 목적이다. 

 

resourceServer는 드디어 엑세트토큰을 발급한다. 그리고 이 토큰을 클라이언트에게 응답해준다. 

 

실제로는 이렇게 단순하지 않겠지만, 4라는 엑세스 토큰을 발급받았다. 그리고 이 토큰은 무엇을 보장하는 것일까? 

저 client가 4라고 하는 토큰으로 접근을 하면, resourceServer는 저 토큰4를 보고, 

이 토큰 4는 유저아이디 1번에 해당하는 아이디이고, 사용하겠다고 한 기능은 b,c이니 유저의 정보와 함께,

사용할 기능 b,c에 대한 접근을 허용해야겠다. 이런 과정을 거쳐서 엑세스 토큰이 발급되게 된다.


이번 시간에는 api호출에 대해서 알아보겠다. 

 

이 토큰을 조작하기 위해서 우리는 api를 활용해야한다. 생활코딩님은 구글 api를 통해 이를 설명해주었다. 

구글의 토큰 api 공식 문서

구글의 accessToken과 관련된 공식문서에 들어가면, 이렇게 두가지 권장사항이 나온다. 

1) 하나는 access_token 뒤에 파라미터를 활용하는 방법이고, 

2) 또 다른 하나는 Authoriztion: Bearer 를 HTTP header에 전송하는 방법이다.

구글은 Bearer를 활용하는 방법이 더 안전하므로 권장한다고 말하고 있다. 

 

이렇게 두 가지 방법을 활용해, 토큰을 담아서 보내면 우리는 원하는 정보를 받을 수 있다.