あなたのデータは 100% プライベートです -- JWT は完全にデバイス上で直接デコードおよびエンコードされます。
JWT に関するすべての情報と、多様なフレームワークで JWT を検証するためのステップバイステップガイド。
JWT(JSON Web Token)は、情報を構造化されたわかりやすい形式で含んだ自己完結型のステートレスなトークンです。API を保護するか、アプリケーションでトークンベースの認証を採用するかにかかわらず、JWT は強力なツールです。その理由は次のとおりです:
通常の JWT は、Base64URL でエンコードされ、ピリオドで区切られた三つの部分に分かれている:
この構造により、JWT はパーティ間で情報をコンパクトで安全に伝達する方法を提供します。
クレームはペイロードの一部であり、重要な情報を保持しています。以下は標準化された登録クレームです:
クレーム | フルネーム | 説明 |
---|---|---|
iss | 発行者 | JWT を発行したエンティティ、例えば認証サーバー。 |
sub | 主題 | JWT の主題を識別し、通常は認証されたユーザーを表します。 |
aud | 受信者 | どの受信者がトークンを受信して処理できるのかを指定します。これは単一の受信者に対する一つの値、または複数の受信者に対応する複数の値の配列として指定できます。 |
exp | 有効 期限 | トークンが無効になるまでの有効期限を設定します。これにより、トークンが有効である期間を制限し、リプレイ攻撃を防止するのに役立ちます。 |
nbf | 有効開始時間 | このタイムスタンプの後にトークンが有効になります。クロックが利用できない状況で役立ちます。 |
iat | 発行時刻 | トークンが作成された時刻を示します。これにより、トークンの年齢を判断できるようになります。 |
jti | JWT ID | トークンの一意の識別子であり、同じトークンが複数回使用されることを防ぐのに役立ちます(例:リプレイ攻撃で)。 |
仕様や認証サーバーの設定によっては、特定のユースケースをサポートするために、ペイロードに追加のクレームが含まれることがあります。また、ビジネスの特定のニーズを満たすために JWT にカスタムクレームを追加することもできます。
OpenID Connect で使用され、認証されたユーザーのプロフィール情報(例:名前、メールなど)を含むクレームを含みます。
OAuth 2.0 で使用され、ユーザーまたはアプリケーションに代わって特定のリソースまたは API へのアクセスを許可します。
JWT は、次の状況で特に役立つことができます:
JWT の完全性を確認するために、そのヘッダーやペイロードが改ざんされていないことを確認する必要があります。以下は人気のあるプログラミング環境で JWT を確認するためのステップバイステップの例です:
JWT に関するすべての情報と、多様なフレームワークで JWT を検証するためのステップバイステップガイド。