LINE WORKS API の新しい機能の追加で、90日の壁を突破

2024年12月の Access Token Refresh Token アップデート内容

2024年12月6日に、LINE WORKS API がアップデートされました。このアップデートでは、Access Token や Refresh Token に関する新しい機能が追加され、これまでの機能はそのままに、新たな機能が追加されました。

  • Access Token の有効期限の選択
    Access Token の有効期限を1時間または24時間から選択できるようになりました。
  • Refresh Token の再発行機能
    Refresh Token を用いた Token 再発行の際に、Refresh Token も合わせて再発行できるようになりました。これにより、再認証を行わず、継続して API を利用できるようになりました。

アップデート情報については LINE WORKS Developers のニュースから確認出来ます。

https://developers.worksmobile.com/jp/news/detail?id=664

User Account 認証 (OAuth 2.0) の場合

2022年4月から開始された LINE WORKS API 2.0 からは、ユーザーアカウントを使用した Authorization Code Flow によって取得した refresh_token の有効期間が90日でした。このため、システムで動かしっぱなしの API 連携では、90日に1回手動で refresh_token を再取得する必要がありました。

これまで1時間の有効期間だった access_token が期限切れの場合、保存済みの refresh_token を使って access_token を取得していたと思いますが、新たに refresh_token も再発行できる機能が追加されました。

この機能はアプリ(client_id)ごとに設定が必要で、「Refresh Token Rotation」という設定値です。デフォルトは OFF です。

これを ON にすることで、refresh_token による access_token 取得時に新しい refresh_token も受け取ることができます。これを保存済みの refresh_token と差し替えて保存しておくことで、90日の壁を超え自動化されたシステムでずっと API リクエストが可能になります。

User Account 認証 (OAuth 2.0) の Access Token の再発行の詳細は公式ページを参照ください。
https://developers.worksmobile.com/jp/docs/auth-oauth#refresh-access-token

Service Account 認証 (JWT) の場合

Service Account 認証(JWT)の場合も「Refresh Token Rotation」の設定によって refresh_token の再発行が可能です。

ただし、従来から JWT 認証では refresh_token の有効期限切れの場合でも自動化されたシステムで API リクエストを続けられていたため、この機能追加によるメリットはさほどないかもしれません。

それでも、JWT 認証は複雑なため、簡単なアプリケーションでは JWT を作成できないケースもあります。そこで、「Refresh Token Rotation」が ON の状態で JWT 作成可能なアプリケーションから一度だけ refresh_token を取得し、 JWT を作成できないアプリケーションではその refresh_token を使って再発行し続ける、という運用も可能になります。

LINE WORKS に関するご相談は寿商会へ

LINE WORKS の API 連携でお困りのことは、スポットでの技術支援コンサルティングや LINE WORKS のライセンス販売も行っております。ぜひご相談ください。