JWTsは、ドットで区切られた3つの部分から成る、である(。):
したがって、JWTは、典型的には、以下のように見えます。
xxxxx.yyyyy.zzzzz
のは、ヘッダRFCし、this
係る概要を見てみましょう
ヘッダは典型的には2つの部分から構成:JWTあるトークンのタイプ、およびハッシュアルゴリズムなどをHMAC SHA256またはRSA。トークンの
{
"alg": "HS256",
"typ": "JWT"
}
ペイロード
第二の部分は、特許請求の範囲を含んでいるペイロードです。クレームは、エンティティ(通常はユーザー)と追加のメタデータに関するステートメントです。 これは興味深い部分です。なぜならトークンの中にあなたの所属を確認できるからです。 { 「USERID」:「1234567890」、 「EXPIRATION_DATE」:「2016-05-129」 }
を我々は新しいトークンを生成すると、我々は私たちが識別するためのユーザーIDを追加することができ、ペイロードが含まれるデータを指定することができますユーザーとexpiration_dateが新しいものを求める時間であるかどうかを確認する。
署名
あなたが符号化されたヘッダ、符号化されたペイロード、秘密、ヘッダで指定されたアルゴリズムを取り、それに署名しなければならない署名部分を作成します。 署名は、JWTの送信者がそれが誰であるかを確認し、メッセージが途中で変更されていないことを確認するために使用されます。
サーバー側
我々は、したがって、我々は有効なペイロードを解読して、所属するユーザー確認することができ、サーバ側での私たちの秘密鍵を維持する必要があります。 この方法では、すべてのトークンがユーザーを検証するのに十分なデータを格納するため、ストアトークンは自由に使用できます。
クライアント側は(更新サービスのwww.myhostのようなHTTPリクエストを依頼する必要がありますので、どのようにトークンを更新?:クライアント側から
新たなトークンを生成するためのプロセスは、同じです。com/renew)、古いトークンを送信して新しいトークンを生成します。どのユーザーがそのトークンに属しているかを確認できるので、更新トークンには同じペイロードが含まれていて有効期限が異なります。
のシングルサインオン
私たちは、同じ資格情報を持つ唯一のユーザーが同時にログインしていることを確認するためにsingle sign-onのような、より戦略にJWTを使用することができます。
私は最終的にこれが愚かな質問であることを理解しています。私はすぐにそれに答えます。 – Ricardo
私はこの週末に答えを書いていきます。 – Ricardo