티스토리 OAuth 인증 with 파이썬 - 개념

파이썬 기본기를 계속 다지면서 Flask 웹 프레임워크를 보기 시작하였다. 웹 프레임워크를 공부하기 전에 가볍게 OAuth 인증을 익히고 티스토리 Open API를 이용하여 블로그를 백업하는 앱을 만들 생각이었는데, OAUTH 인증 때문에 몇 일동안 수령에 빠졌다.

 

OAuth 2.0를 정말 쉽게 설명한 생활코딩 강의가 있어, 이것을 참고하여 OAuth 2.0에 대한 개념을 이해하였다.

내가 만든 앱이 티스토리 오픈API를 사용하려면 앱(Client)를 등록을 해야 한다. 등록을 완료하면 App ID와 Secert Key가 생성될 것이다.

이 정보를 갖고 티스토리 Access Token을 받아올 것이며, 내가 만들 앱은 웹어플리케이션이 아니기 때문에 callback url은 블로그 주소를 사용하였다. 만약 웹어플리케이션이라면 callback url에 redirect url으로 설정하면 될듯 하다.

위와 같이 티스토리 오픈API 등록을 완료하였다면, 앱(Client)에서 티스토리 오픈API를 사용하여 블로그 글을 추가, 삭제 그리고 업데이트를 할 수 있다.

 

아래 블로그 글을 참고하여, 티스토리 오픈API로 블로그에 접근이 가능한지 확인하였으나 블로그 글과 다르게 동작하여 티스토리 OAuth 인증에 대한 아주 주옥같은 삽질을 시작하게 되었다.

 

티스토리 API Access token 자동 발급 받기 업데이트

| 발급 프로세스 변경 Implicit 방식에서 Authentication Code 방식으로 얼마전 예전에 작성했던 "파이썬 로그인 세션 유지하기 & 티스토리 API Access token 자동 발급" 의 Access token 을 얻어오는 코드가 동작.

garnetiger.com

결론부터 말하면....

카카오 계정으로 티스토리 계정을 통합하였다면 위 블로그 글 방식으로 모바일 또는 PC 앱에서 OAuth 인증을 사용할 수 없다.

카카오의 정책이 바뀌면서 발생한 문제이므로, 웹어플리케이션 아니라면 위 블로그에서 설명한 방식으로 OAuth 인증은 어렵고, 수동으로 Access Token을 받아 앱에 Access Token을 하드코딩해서 사용해야 한다. 이 때문인지 모르겠으나, 생활 코딩의 강좌에서 언급한 Access Token에 대한 ExpireTime은 존재하지 않는 것 같다.

 

즉, 한번 생성한 Access Token으로 몇일 지나도 사용이 가능하다. 하지만 다른 계정의 블로그도 이 Access Token으로 사용이 가능한지 모르겠다. 이것은 다음에 꼭 확인을 해야 할 것 같다.

 

수동으로 Access Token을 받아오는 방법은 아래 블로그를 참고하여 Access Token을 받아와서 내가 만들 앱에서 사용하였다.

 

티스토리 API access_token 얻는 방법 (서버 기반)

티스토리 API access_token 얻는 방법 티스토리 API를 사용하기 위해서는 access_token을 발급받아야 한다. access_token을 발급받는 과정은 매우 귀찮은 과정이지만, 아래 절차를 차근차근 따라가기만 하면

limsee.com

Access Token을 얻는 과정에서 블로그 설명과 다르게 정상적으로 동작하지 않는다면, 오타가 없는지 확인을 하도록 한다. 대부분 오타로 인해 예상되는 결과가 틀리게 나오는 것이다.