JWT -- Json Web Token
1430 ワード
JWTとは?
JWT(Json Web Token)は、オープンソースbiaozhun、軽量、携帯者ユーザー情報のjsonオブジェクトであり、サーバ側とクライアントとの相互作用を安全に行う.
JWTは軽量なので、Http Headerに入れて、サーバーとクライアントの間で迅速に対話することができます.また、データベースから再び取得することなく、ユーザ名などプライバシーにほとんど関係のないユーザ情報をJWTに格納することができる.
JWTはいつ使いますか.認証が必要:ユーザーはusername,passwordに従ってログインした後、JWTを使用してTokenをクライアントに返し、クライアントは要求時にTokenをHttp Headerに 置く
JWT詳細基本構造 Header Payload Signature
Headerは、アルゴリズムなどのJWTの最も基本的な情報を記述するために使用される. PayLoad負荷におけるプログラマによって定義されたいくつかの情報、例えば、 ここでPayLoadの内容はusername、role、privileges、expの期限切れです. Signatureは、HeaderとPayLoadが符号化する文字列を である.
だから、完全なJWTは:header.payload.signature
まとめの欠点 が発行された後、その有効期間内にずっと有効で、期限切れの を待つしかない.
の利点 JWTの構成は簡単で、バイトの占有量は小さくて、 を伝送するのに便利ですは、サービス側に情報を保存することなく、 を容易に拡張できる.
セキュリティ関連 は、JWTのPayload部分に機密情報 を格納すべきではない. secret を保存
JWTを使用すると、サービス側はTokenを検証し、検証によって対応するリソースが返されます.全体の流れは下図のようです:
JWT(Json Web Token)は、オープンソースbiaozhun、軽量、携帯者ユーザー情報のjsonオブジェクトであり、サーバ側とクライアントとの相互作用を安全に行う.
JWTは軽量なので、Http Headerに入れて、サーバーとクライアントの間で迅速に対話することができます.また、データベースから再び取得することなく、ユーザ名などプライバシーにほとんど関係のないユーザ情報をJWTに格納することができる.
JWTはいつ使いますか.
JWT詳細
{
"alg" : "HS256"
}
ここでは、このJWTのアルゴリズムがHS 256であることを説明する.また、HeaderについてもBase 64符号化を行います.{
"username": "pm2017",
"role": "PROJECT_MANAGER",
"privileges": [
"RETRIVE_USER"
],
"exp": 1506609371
}
.
で接続し、HS 256(Headerに設定アルゴリズム)アルゴリズムを用いてサービス側に記憶された鍵secretとともに暗号化し、得られる値はSignature だから、完全なJWTは:header.payload.signature
まとめ