最終更新:
Click to expand / collapse
JWT (JSON Web Token)は、多くのAPIやマイクロサービスアーキテクチャで使用される認証とセキュアな通信のための近代的な標準です。ユーザーとサービスの認証、セッション管理、ロール別のアクセス差別化のための完全なJWTサポートを実装しています。
JWTトークンはクライアント側に保存され、サーバー上でセッションを必要とせず、偽造に対する信頼性と保護を確保するために署名されます。
JWTに含まれるもの
| トークン内のフィールド | アポイントメント |
|---|---|
| sub [sub] | ユーザーIDまたはサービスID |
| EXP [EXp | トークンの有効期限 |
| ロール/スコープ | ユーザーロールと使用可能なアクセス許可 |
| シグネチャ | 認証のためのデジタル署名 |
| カスタムクレーム | 追加データ:言語、ホールID、通貨など。 |
実装機能
書式: 'ヘッダー。ペイロード。signature'(ベース64)
署名アルゴリズム: HS256(対称)およびRS256(非対称)
リフレッシュトークンとローテーションのサポート
CORS、モバイル、Web、サーバ間クライアントの操作
クッキー、localStorage、またはヘッダーにトークンを保存する機能
JWTを利用するメリット
ステートレス: サーバーセッションは不要
モバイル、SPA、マイクロサービスに便利
スケーラビリティ: 複数のサービスに容易に実装
クライアントとAPI間の高速通信
柔軟性-トークンに承認に必要なデータを保存できます
特に関連する場合
モバイルおよびフロントエンドのアプリケーション
イントラサービス認証(S2S)
より多くの同時ユーザーを持つプラットフォーム
明確なアクセスロールモデルが必要なシステム