JSON Web Tokenは署名されたJSONで、改変を防止できる仕組みになっています。さらにBASE64エンコードされていることで、URLセーフな仕組みです。
すでに多くのサービスで使われているJSON Web Tokenについて、明示的に紹介されているサイトについてリストアップしました。
JSON Web Token(JWT)の紹介とYahoo! JAPANにおけるJWTの活用 - Yahoo! JAPAN Tech Blog
Yahoo! IDを使って認証を外部サービス化する際、Yahoo! JapanではJSON Web Tokenでレスポンスが返ってきます。これはOpenID Connectの仕様に則って行われています。
JSON Web Token(JWT)の紹介とYahoo! JAPANにおけるJWTの活用 - Yahoo! JAPAN Tech Blog
ユーザープールのトークンの使用 - Amazon Cognito
Cognitoの認証後のトークンはID、アクセストークンともにJSON Web Tokenになっています。有効期限は1時間となっています。
ユーザープールのトークンの使用 - Amazon Cognito
SORACOM Endorse で発行されたトークンを検証する | Getting Started | SORACOM Developers
SORACOM EndorseはSORACOMが認証プロバイダとして、デバイスの認証サービスを提供します。この時発行される認証トークンがJSON Web Tokenになっています。
SORACOM Endorse で発行されたトークンを検証する | Getting Started | SORACOM Developers
JWT(JSON Webトークン)を使用したシングルサインオンの設定 – Zendesk Support
Zendeskが提供するシングルサインオン機能を使って、社内システムが取得したログイン要求をZendeskが信頼できるようにする機能でJSON Web Tokenが使われています。
JWT(JSON Webトークン)を使用したシングルサインオンの設定 – Zendesk Support
JWT 認証 ‒ Qlik Sense
Qlik SenseはBIツールを提供するQlikの一機能になります。この認証機能においてJSON Web Tokenが使われています。
Twilio API: Access Tokens - Twilio
Twilioのボイス、チャット、ビデオといった機能においてTwilioのアクセストークンがJSON Web Tokenになっています。
Twilio API: Access Tokens - Twilio
サービス間認証 | Cloud Endpoints | Google Cloud Platform
Googleの認証はOpenID Connectに則っていますので、そのIDトークンはJSON Web Tokenになっています。
サービス間認証 | Cloud Endpoints | Google Cloud Platform
Local and Remote Notification Programming Guide: Communicating with APNs
Appleのプッシュ通知において、有効期限をなくしたProvider Authentication TokensはJSON Web Tokenになっています。
Local and Remote Notification Programming Guide: Communicating with APNs
ウェブアプリにLINEログインを組み込む
LINEログインはOpenID Connectをサポートしています。IDトークンがJSON Web Tokenで取得できますので、デコードして検証できます。
JSON Web Tokenは主に認証目的で利用されていることが多いようです。既存のセッションやIDトークン、アクセストークンを置き換える存在として注目に値します。また、OpenID Connectでは標準技術として採用されていますので、OAuth2も合わせて提供する場合にはJSON Web Tokenベースにするのも良さそうです。
ぜひ他社の導入事例を見つつ、自社でもJSON Web Token導入に取り組んでください。