Bot

アクセストークンの有効期限切れ

橋本征太郎

2019.06.24既読 5142

以下の情報を参考にして、アクセストークンの自動延長機能について確認しています。

https://developers.worksmobile.com/jp/document/1002002?lang=ja


Server Token の有効期限は、

有効期限は 24 時間(86400秒)となり、この時間を過ぎると自動的に失効します。 』

 

という記載がありますが、アプリケーションの動作をみたところ

下記のエラーが頻繁に発生しており、24時間よりも早く(半日程度)

有効期限が切れているように思われます。

 

{"errorMessage":"Authentication failed, no authority","errorCode":"024","code":"UNAUTHORIZED"} 

 

そこで、以下2点について教えていただけますでしょうか?

・アクセストークンが24時間よりも早く有効期限切れになる場合があるのか? 

・上記のエラーが発生する理由について、
 
アクセストークンの有効期限切れの時に発生するのか?

 他にこのエラーが発生する事象は?

 

以上、よろしくお願いいたします。

コメント8

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

    LINE WORKS 公式アカウント

    このエラーは、Token または ConsumerKey が不正な場合に発生します。
    Token の有効期限が切れている場合にも、このエラーは発生いたします。​

    まず、確認させていただきたいのですが、Server Token は固定 IP と ID 登録のどちらのタイプをしようしていますでしょうか?
    固定 IP タイプの場合、IP が変更された場合には既存の Token は使用できなくなります。
    Wifi など、流動的に IP が変更されるような環境の場合には ID 登録タイプをご利用ください。​​
    ID 登録タイプの場合、同じ serverId と privateKey を使用して Token を再発行すると、以前に作成した Token は使用できなくなります。

    2019.06.28

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

    橋本征太郎 投稿者

    ご回答ありがとうございます。
    Server Tokenは「ID登録タイプ」を使用しています。

    ※補足
    運用では、6時間ごとにAPI(getBotList/v4)を呼び出してTokenの有効期限を延長しています。
    常に同じ条件(ServerId+privateKey)でAPIを呼び出しているので、「Authentication failed, no authority」が
    発生する理由が見当つきません。

    2019.06.28

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

    LINE WORKS 公式アカウント

    弊社サーバー側では特に障害は発生していないようです。
    Token の更新を行う際に異なる Token を利用していないか、また各実行時に Token の有効期限が満了していないかご確認いただけないでしょうか。

    2019.07.03

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

    橋本征太郎 投稿者

    Tokenの更新を行う際は同じTokenを使用しています。更新処理を6時間毎⇒1時間毎に短くしてみたところ、2時間おきに"Authentication failed, no authority"のエラーが発生しています。

    2019.07.31

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

    LINE WORKS 公式アカウント

    access_token の有効期限内であっても、token の再発行を行うと以前の token は無効になります。
    推測するに、以下のような状況ではないでしょうか?
    ①​ ServerId と privateKey で token① を発行​
    ② token① で API を呼び出し → 成功
    ③ ServerId と privateKey で token② を発行​
    ④ token② で API を呼び出し → 成功
    ⑤ token① で API を呼び出し → 失敗​

    エラーが返ってきたときの token が最後に発行された token かどうかを確認してみてください。

    2019.08.02

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

    橋本征太郎 投稿者

    ご回答頂きありがとうございます。
    今の状況は以下の通りです。「Authentication failed, no authority」エラーが発生した後でtokenの再発行をしています。

    ①​ ServerId と privateKey で token① を発行​
    ② token① で API を呼び出し → 成功
    ③ ②から1時間後、token① で API を呼び出し → 成功
    ④ ③から1時間後、token① で API を呼び出し → 失敗
    ⑤​ ServerId と privateKey で token② を発行​
    ⑥ token② で API を呼び出し → 成功

    なお、token取得時は「"token_type":"Bearer","expires_in":86400」が返ってきています。

    2019.08.02

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

    LINE WORKS 公式アカウント

    ③と④の間で、別のプログラムが新たな token の発行をしていませんでしょうか?

    こちらでは同様の現象は再現されておらず、他ユーザ様から同様の現象が起きたとの報告もございません。​
    大変申し訳ないのですが、コミュニティの性質上、固有の情報を記載することができないため、こちらでは個別のエラーについてお答えすることができません。​​

    個別のエラーにつきましては担当のパートナー営業までご相談ください。

    2019.08.05

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

    橋本征太郎 投稿者

    解析頂いた通り、別のプログラムで新たなtokenを発行していることが分かりました。
    これまで丁寧に対応して頂きありがとうございました。

    2019.08.06

    0
前の投稿 Server List(固定IPタイプ)利用時の挙動の違いについて
次の投稿トークBot API でメッセージが届かない
リスト

まだ、解決できませんか?
今すぐ実際に使用しているLINE WORKSユーザーに質問してみましょう。