API

Access Token Refresh 연장 오류와 Refresh Token 질문

개발자개발

2023.03.27읽음 1860

Access Token을 발급받아 24시간후 연장하는것을 테스트하기 위해 강제로 만료시킨 후 
refresh_token을 이용하여 토큰 재발급을 테스트 중입니다.
MSSQL의 MSXML2.ServerXMLHTTP 통신방식을 사용하였습니다.
--Access Token 강제 만료
set @contentType = 'application/x-www-form-urlencoded;'
SET @postData = 'client_id=앱ID&client_secret=앱Secret&token=발급받은Access Token'
POST방식 전송 후
503 Service Unavailable 메시지를 받았습니다.
--Access Token 기간 연장
set @contentType = 'application/x-www-form-urlencoded;'
SET @postData = 'grant_type=refresh_token&client_id=앱ID&client_secret=앱Secret&refresh_token=Access Token과 함께 발급받은 refresh_token'
POST방식 전송 후
401 {"error_description":"Failed to refresh token with request.","error":"unauthorized_client","error_uri":"See document on https://developers.worksmobile.com/reference/authorization-auth"}
메시지를 받았습니다.
Consumer Key나 Authorization이 잘못되어 실패함 이라고 나오는데 Token 기간연장에는 해당값이 헤더에 필요 없는것으로 알고있습니다
헤더에 추가해서 진행해도 에러메시지는 마찬가지입니다.
앱ID와 앱Secret은 Access Token을 발급받았을 때 집어넣은 값과 동일합니다.
어디가 문제인지 알 수 있을까요?
추가로 Access Token의 유효기간은 1일
Refresh Token의 유효기간은 90일이라고 되어있는데
Refresh Token의 유효기간을 연장할 수 있는 방법은 없나요?

댓글2

  • 업데이트 된 답글입니다.

    bsw2428

    API 2.0에서는 refresh token을 통해 연장을 지원한다고 하네요. (refresh token으로 유효 기간 만료된 토큰을 재발급하여 사용할 수 있습니다)

    토큰 발급 시 응답값으로 새로 고침 토큰(refresh token)을 주는데, 해당 refresh Token 토큰으로 access token을 재발급해서 사용해보시면 될 것 같습니다.

    아래 API 2.0과 1.0의 차이를 확인해보세요~
    https://developers.worksmobile.com/kr/reference/difference-between-api?lang=ko

    2023.03.30

    0
  • 업데이트 된 답글입니다.

    개발자개발 작성자

    bsw2428
    -> 본문 읽어보셨으면 아시겠지만 AccessToken과 함께 발급받은 refresh token을 사용하여 재발급 했지만 잘못된 인증토큰만 반복됩니다.
    본문 읽어보셨으면 아시겠지만 제가 참고한 인증방식이 API 2.0이며 401메시지 뜻을 알려드리기 위해 API1.0주소도 참조하였습니다.

    2023.03.30

    0
이전 글UserId, 구성원 목록 조회 관련 질문입니다.
다음 글MSSQL API2.0 인증관련 오류
목록

궁금한 점을 해결하지 못하셨나요?
지금 바로 NAVER WORKS 사용자들에게 물어보세요!