티스토리 뷰

Nate Open API Token문제

개발 과정을 좀 더 직관적으로 보고 만들기 위해서 Access token받는 부분과 Access token을 받은 후 Access token을 이용해 싸이월드 다이어리 등 각 어플리케이션을 read write delete하기 위한 코드를 분리해 놓았다.

현재 Access token을 받는 부분은 web browser상에서 인터넷 쇼핑에서 핸드폰 결제를 하는 부분과 비슷하다. 쇼핑몰에서 핸드폰 결제를 할 때 '인증코드 전송'을 누르면 핸드폰으로 날아온 인증코드를 다시 쇼핑몰에 전송을 해주면 결재가 되고 물품이 배송이 된다.

마찬가지로 Access token을 받는 page에서 id와 password로 login을 하면 Access token이 발급 된다. Access token을 발급 받으면 Id, password를 입력하는 과정 없이 발급받은 토큰을 sk server에 parameter로 보내서 원하는 data를 받아올 수 있다. 


위 스샷은 내가 이용하는 test page다. 좌측에 파일명이 나오고 우측에 싸이월드 다이어리를 조회한 데이터를 받아서 date와 title을 출력하게 되어있다.


좌측 메뉴에서 request.php가 Access Token을 받아오는 page다. request.php를 클릭하면 아래와 같이 로그인 화면이 나온다.


id, password를 입력하고 '로그인'버튼을 누르면 아래 화면과 같이 access token이 발급 된다.


그런데 Access token이 하루정도 지나면 사용을 할 수 가 없게 된다.


현재 방식은 Access Token을 받아서 받은 Access token을 copy and paste해서 다이어리를 조회하는 다른 코드에 넣는다.

위에 $access_token 변수 부분과 위에 발급받은 토큰을 비교해 보면 같다는 것을 확인 할 수 있다.

$access_token이 data를 받아오는 method의 parameter로 넘어간다.


이런 상황에서 아침에 로그인 해서 토큰을 받은 후 그 토큰을 이용해 자료를 read write delete 할 수 있지만 다음날 하려고 하면 일단 목록 조회가 안되버리기 때문에 Access Token을 받는 기능을 실행해서 access token을 다시 받는거다.

내가 하고 싶은건 뭐냐면 로그인을 하루에 한번만 하는거다. Access token을 발급 받는 코드와, 자료를 가져오는 코드를 분리해 놓지 않으면 코드를 수정하고 결과를 보려고 '페이지 새로고침'을 누르면 또 다시 Access token을 발급 받기 위해 로그인 하는 화면이 나온다.


이 부분을 어떤식으로 해결 해야 할지 고민이다.

그런데 refresh token도 같이 발급 되는데 이건 뭔지 모르겠다. 기존에 코드를 좀 보면(가뭄에 콩나듯 어떤 훌륭한 분이 코드를 올려놓으시기도 한다) token을 db에 저장 한다. 저장 되어있는 토큰을 아무거나 꺼내서 쓴다고 그게 과연 될지도 모르겠고 엉뚱한 유저껄로 들어가게 될 수도 있지 않음?







728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함