Community

コミュニティをご利用の際は 【ガイドライン】を確認・同意いただいた上でご利用ください。

  • 投稿

    アバターyamamuro

    トークンの取り消し(revoke)について

    現在、OAuth認証によって発行されたアクセストークンやリフレッシュトークンの取り消し(revoke)をテストしているのですが、リファレンスに記載されている通りにアクセスしても取り消すことができません。

    手順としては、会計API リファレンス や Freeeの認証系のAPIのトークン破棄時のレスポンスステータスについて の投稿、RFC7009 を参考に以下のようにアクセスしてみました。

    # curl -i -X POST \
    > -H “Content-Type:application/x-www-form-urlencoded” \
    > -H “Authorization:Bearer {ACCESS_TOKEN}” \
    > -d “token={REFRESH_TOKEN}” \
    > -d “token_type_hint=refresh_token” \
    > ‘https://accounts.secure.freee.co.jp/public_api/revoke’

    すると以下のように応答されてしまいます。

    HTTP/1.1 401 Unauthorized
    Date: Fri, 12 Apr 2019 02:18:56 GMT
    Content-Type: application/json; charset=UTF-8
    Transfer-Encoding: chunked
    Connection: keep-alive
    Status: 401 Unauthorized
    Cache-Control: no-cache, must-revalidate
    X-Runtime: 0.111449
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1; mode=block
    X-Content-Type-Options: nosniff
    X-Request-Id: e27dd062-0620-4700-a55f-7a48729ef1f9
    Pragma: no-cache
    {
        “error”: “invalid_token”,
        “error_description”: “アクセストークンが無効です。”
    }

    その後、revokeに指定したアクセストークンを使用してAPIに問い合わせるとエラーなどは特に発生せずデータにアクセスができてしまいます。

    また、過去の投稿でpath paramsで指定するようにと書かれていましたので、

    curl -i -X POST \
    -H “Content-Type:application/x-www-form-urlencoded” \
    -H “Authorization:Bearer {ACCESS_TOKEN}” \
    https://accounts.secure.freee.co.jp/public_api/revoke?token={REFRESH_TOKEN}&token_type_hint=refresh_token’

    としてみましたが、結果は変わりません。
    どのようにアクセスすればよいかご教示いただけないでしょうか。

    宜しくお願い致します。

    回答

    freee dev-supportfreee dev-support

    お問い合わせありがとうございます。

    ==================================
    curl -i -X POST \
    -H “Content-Type:application/x-www-form-urlencoded” \
    -H “Authorization:Bearer {ACCESS_TOKEN}” \
    ’https://accounts.secure.freee.co.jp/public_api/revoke?token={REFRESH_TOKEN}&token_type_hint=refresh_token’
    ==================================
    上記リクエスト内容の{REFRESH_TOKEN}とrefresh_tokenを変更してお試しくださいませ。
    ・{REFRESH_TOKEN}→{ACCESS_TOKEN}
    ・refresh_token→access_token

    こちらのリクエスト内容で処理が成功するかと存じます。

    どうぞよろしくお願いいたします。

    アバターyamamuro

    ご回答いただきありがとうございます。

    アクセストークンで/revokeへ問い合わせを行ったところ、正常にトークンが破棄されることが確認できました。

    ありがとうございました。

    freee dev-supportfreee dev-support

    無事トークンを破棄することができ、何よりでございます。

    作業を進めていく中で、ご不明な点・ご心配な点がございましたら、お気軽にお申し付けくださいませ。

    どうぞよろしくお願いいたします。