JWT (JSON Web Token)


JWT (JSON Web Token)


基本概念

 1. 토큰 기반 인증 시스템의 구현체
 2. 웹 표준 (RFC 7519)에 등록되어있다.
 3. JSON 객체를 사용하여 정보를 안전성 있게 전달 가능  
 4. 수많은 프로그래밍 언어에서 지원이 가능
 

使用箇所


1.会員認証

メンバー認証方法手順

1. ID와 PWD로 로그인
2. 서버측에서 해당 계정정보를 검증
3. 유저에게 토큰 발급
4. 유저는 전달받은 토큰을 저장해두고, 요청 필요시 해당 토큰을 함께 서버에 전달.
5. 서버는 토큰을 검증하고, 요청에 응답.
ここで使われているコインはJWTです!

2.情報交流

  • 情報は署名されているので、送信者が変更または改ざんされたかどうかを検証し、2つのオブジェクト間で確実に情報を交換することができる.
  • JWTの構成


    ヘッダー、コンテンツ、および署名の3つの部分からなり、各部分は「」である.区別する.

    1.タイトル(ヘッド)

  • Headerのプロパティ
  • 入力:タグのタイプを指定します.(JWT)
  • alg:ハッシュアルゴリズムを指定します.
    -HMAC SHA 256またはRSAを使用する.
    ヘッダの内容はbase 64として符号化され、JWTヘッダ部分にロードされる.
  • 2.コンテンツ(Payload)

  • Payloadのプロパティ
  • 登録済みクレーム
  • という名前のクレーム
  • iss:トークン発行者(発行者)
  • sub:トークンタイトル(トピック)
  • および:ターゲット(視聴者)
  • exp:トークン有効期限(expiraton)
  • nbf:Not Before、タグのアクティブ日
  • iat:トークン発行時間(at発行)-トークンの年齢判断基準
  • による
  • jti:JWTの一意の識別子、重複処理防止-使い捨てトークン用
    登録クレームの使用には選択肢があります.
  • 公開(公開)クレーム
  • JWTを使用するユーザ定義クレーム
  • クレームの競合を回避するために、URI形式で
  • を定義します.
  • 非公開(プライベート)クレーム
    +クライアントとサーバ間のプロトコルで使用されるクレーム名.
    +重複するクレーム名による競合に注意
    コンテンツ(Payload)をbase 64に符号化し、コンテンツ部分にロードする.
  • 3.署名

  • ヘッダの符号化値+"."+情報の符号化値として、秘密鍵ハッシュで生成される.
    で合成された文字列を入力algの暗号化アルゴリズムで暗号化しbase 64に符号化し、署名(signautre)部分に入れる.