2015-10-11 10 views
5

私はJWTとflask-jwtを使っているので、私はexampleをドキュメントのどこに置いているのですか?私はthisを読んでJWTのより良い理解を得る。フラスコ - jwtトークンの扱い方は?

しかし今、私はどのように複数のトークンを処理するべきなのでしょうか? つまり、ユーザーは自分の資格情報を "myserver/auth"に投稿してから、トークンをクライアントに返します。 クライアントが新しい要求を送信すると、トークンを送信する必要があります。

「トークン」がどのユーザーに属しているのか、「トークン」が格納されている場所がわかりましたか?

+0

私は最終的にこれが愚かな質問であることを理解しています。私はすぐにそれに答えます。 – Ricardo

+0

私はこの週末に答えを書いていきます。 – Ricardo

答えて

2

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を使用することができます。

+3

文字通り 'https:// jwt.io/introduction /'から逐語的にコピーしただけで、リンク元で元の著者のクレジットを与えていません。知的財産盗難のためのBOO。 BOOOOOOO。 –

関連する問題