티스토리 뷰

Youtube API 사용을 위해
OAuth 2.0 인증 절차를 개발하며
https://developers.google.com/youtube/v3/guides/auth/server-side-web-apps
를 참고하며 진행하는데 갱신 토큰 (refresh token) 값이 받아지지 않는 이슈가 발생!

레퍼런스 첫 부분 즈음

"1. 액세스 토큰 받기"
단락이 있는데 이것의 진정한 이름은

"1. 인증 코드 요청하여 받기"
정도 되겠다.

"1. " 에서 받은 인증 코드와 함께
"4. " 요청 후
"5. " 에서 레퍼런스의 응답과 같이
"refresh_token" 값이 있어야 하는데
값이 없었고

과정을 처음부터 반복을
구글링 조회하며
10회 이상 삽질하다가

갱신 토큰 반환 안되는 원인을 찾음.
: 최초 권한 요청때 1회만 갱신토큰을 반환하도록 되어 있는 구글 OAuth 서비스 덕분!

그러면 해결법은?
"1. 인증 코드 요청하여 받기" 의 파라미터 중
"approval_prompt=force" 를 쿼리스트링에 추가하여 요청하면 됨.

예) https://accounts.google.com/o/oauth2/auth?
client_id=1084945748469-eg34imk572gdhu83gj5p0an9fut6urp5.apps.googleusercontent.com
&redirect_uri=http%3A%2F%2Flocalhost%2Foauth2callback
&scope=https://www.googleapis.com/auth/youtube
&response_type=code
&approval_prompt=force
&access_type=offline


댓글