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 のニュースから確認出来ます。
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 のライセンス販売も行っております。ぜひご相談ください。