JWT


JWTとは?


Json Web Token:2つのオブジェクトの中でJSONオブジェクトを使用して、簡単に、自分で含む方法で確実に情報を伝達する
self-contained:jwtは、自分が必要とするすべての情報を持っています.システムで提供されるトークンには、トークンに関する基本情報、伝達される情報、および検証されたトークンを証明するための署名が含まれる.
サーバに対しては,HTTPのヘッダに入れて渡すこともできるし,URLのパラメータで渡すこともできる.
使用状況
  • 会員認証: これはJWTを使用する最も一般的なスキームです.ユーザーがログインすると、サーバはユーザーの情報に基づいてトークンを発行し、ユーザーに転送します.その後、ユーザは、サーバに要求を送信するたびに、JWTを含む要求を転送する.サーバがクライアントからリクエストを受信するたびに、タグが有効で認証されていることを検証し、ユーザーがリクエストされたタスクに権限を持っているかどうかを検証することでタスクを処理します.サーバ側は、ユーザーのセッションを維持する必要はありません.つまり、ユーザーがログインしているかどうかを気にする必要はありません.ユーザーが要求したときにトークンを表示するだけで、セッション管理を必要とせずにサーバリソースを大幅に節約できます.
  • 情報交換:JWTは2つのオブジェクト間で情報を確実に交換する良い方法である.これは,メッセージが1つのシンボルであるため,メッセージを送信する人は変わらず,メッセージが途中で操作されているかどうかである. 確認します.

  • <タイトル>
    二つの情報
    入力:タグの種類/alg:ハッシュアルゴリズムが通常HMAC SHA 256 OR RSA使用→タグ検証時に使用される署名部分で使用されることを指定する
    {
      "typ": "JWT",
      "alg": "HS256"
    }
    <コンテンツ(ペイロード)>
    コインを入れる情報が含まれています.情報の一部は、「クレーム」という名前のname/valueのペアで構成されています.複数請求可能
  • クレーム種別
  • 1)登録済クレーム
    2)公開(公開)クレーム
    3)非公開(私有)クレーム
    <署名(署名)>
    タイトル内の符号化値と情報内の符号化値とを合成した後、所与の秘密鍵を用いてハッシュを行い、生成する
    首都コード
    HMACSHA256(
      base64UrlEncode(header) + "." +
      base64UrlEncode(payload),
      secret)
    作成されたハッシュ値をbase 64として表示
    <リファレンスリンク>
    https://velopert.com/2389