ダミーのためのJWT(JSONウェブトークン)の基礎
2625 ワード
JSONウェブトークンは、ステートレス認証を可能にするインターネット標準の提案です.
用途
JWTは主にウェブサイト/Webアプリケーションのコンテキストでユーザーを認証するために使用されます.
例
nitty grittyに入る前に、その使用の簡単な例は以下の通りです:
我々はツイーターと呼ばれるWebアプリケーションを持っているとしましょう、このWebアプリケーションは、ファンシーなものの束を行うことができますが、ユーザープロファイルに焦点を合わせましょう.今、明らかに、各ユーザーは自分のユーザープロファイルの設定にアクセスできます.
したがって、非常に単純にID 123を持つユーザはユーザID 123のプロファイル設定にのみアクセスできます.
以下に、認証フローがどのように見えるかを示します.
この図を見ると、2つのことがわかります.
1 .
ユーザ/ブラウザがトークンを持つと、DBはもはやユーザを認証する必要がなくなります.
これがstateless認証と呼ばれる理由です.
2 .
トークンで、この例ではユーザに関する情報を送信できます.
この情報は、秘密キーを使用して検証することができます.
JWT
トークン自体はクッキー経由で送信されるか、Authorization Header .
例えば:
JWTは3つの部分から構成されています.
ヘッダ
使用される署名アルゴリズムに関する情報が含まれます.
ペイロード
請求項を含む.ユーザーIDとあなたが使用したい他の情報と同様にhere .
フッター
秘密キーで検証できるトークンの署名を含みます.トークンが何らかの形で変更されると、それはもう有効ではありません.
あなたがこの話題のより多くの入力を必要とするならば、私はあなたがこれを見ることを非常に提案します、それは素晴らしいです.
用途
JWTは主にウェブサイト/Webアプリケーションのコンテキストでユーザーを認証するために使用されます.
例
nitty grittyに入る前に、その使用の簡単な例は以下の通りです:
我々はツイーターと呼ばれるWebアプリケーションを持っているとしましょう、このWebアプリケーションは、ファンシーなものの束を行うことができますが、ユーザープロファイルに焦点を合わせましょう.今、明らかに、各ユーザーは自分のユーザープロファイルの設定にアクセスできます.
したがって、非常に単純にID 123を持つユーザはユーザID 123のプロファイル設定にのみアクセスできます.
以下に、認証フローがどのように見えるかを示します.
この図を見ると、2つのことがわかります.
1 .
ユーザ/ブラウザがトークンを持つと、DBはもはやユーザを認証する必要がなくなります.
これがstateless認証と呼ばれる理由です.
2 .
トークンで、この例ではユーザに関する情報を送信できます.
この情報は、秘密キーを使用して検証することができます.
JWT
トークン自体はクッキー経由で送信されるか、Authorization Header .
例えば:
Authorization:
Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2Mjc5MjgyMzksInVzZXJSb2xlcyI6WyJBRE1JTiIsIkRCX1JFQUQiLCJEQl9XUklURSJdLCJ1c2VySWQiOjEyMzQ1LCJpYXQiOjE2Mjc5MjgxMTl9.8vTwsBOp8LSa0sdc0nWAUnmWAAgOnS0ElB3bfaiSRfQ
文字や数字の混乱は何もエンコードされたJSON以上です.暗号化されていない暗号化されていることに注意してください.JSON.parse(atob("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9")) // This will return: {alg: "HS256", typ: "JWT"}
使用jwt.io ウェブサイト我々はそれを本当に簡単に自分自身にすることができます.JJTをペーストし、デコードされたJSONデータを取得します.JWTは3つの部分から構成されています.
ヘッダ
使用される署名アルゴリズムに関する情報が含まれます.
ペイロード
請求項を含む.ユーザーIDとあなたが使用したい他の情報と同様にhere .
フッター
秘密キーで検証できるトークンの署名を含みます.トークンが何らかの形で変更されると、それはもう有効ではありません.
あなたがこの話題のより多くの入力を必要とするならば、私はあなたがこれを見ることを非常に提案します、それは素晴らしいです.
Reference
この問題について(ダミーのためのJWT(JSONウェブトークン)の基礎), 我々は、より多くの情報をここで見つけました https://dev.to/carstenbehrens/the-basics-of-jwt-json-web-tokens-for-dummies-2iinテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol