最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號安全,請及時綁定郵箱和手機立即綁定

編程界Token的另一種最佳協議JWT

JWT全称json web token,是一种基于JSON的开放标准(RFC 7519)协议,适用场景比如现在流行的分布式环境当中,非常适用跨平台应用程序。

比较
  • 传统的Session是保存在服务器当中,或者内存数据库。
  • JWT保存的则是在客户端中。
结构

JWT由3个部分组成,用.分隔

  • Header
  • Payload
  • Signature

JWT通常看起来像下面一样

xxxxx.yyyyy.zzzzz

Header

第一部分是请求头由两部分组成,algtyp,第一个指定的是算法,第二指定的是类型。

例如:

{
  "alg": "HS256",
  "typ": "JWT"
}

Payload

第二部分是主体信息组成,用来存储JWT基本信息,或者是我们的信息。

例如:

{
  "sub": "1234567890",
  "name": "John Doe",
  "admin": true
}

Signature

第三部分主要是给第一部分跟第二部进行签名使用的,用来验证是否是我们服务器发起的Tokensecret是我们的密钥。

下面例子使用HMAC SHA256算法进行签名

HMACSHA256(
  base64UrlEncode(header) + "." +
  base64UrlEncode(payload),
  secret)

真正的JWT看起来像下面例子一样

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJpYXQiOjE1MTIyOTg4MDZ9.76mzRRk8CQfusjwxUMnIrME5ITyAPnNMdieJZhzaMc8
JWT工作原理

JWT工作原理

JWT SDK库支持
  • .NET
  • Python
  • Node.js
  • Java
  • JavaScript
  • Perl
  • Ruby
  • Elixir
  • Go
  • Haskell
  • Rust
  • Lua
  • Scala
  • D
  • Clojure
  • Objective-C
  • Swift
  • C
  • kdb+/Q
  • Delphi
  • PHP
  • Crystal
  • 1C

JWT 主要依靠签名核心,也可自实现签名验证,主体信息存放。

评估
  • 传统Cookie Session
    优点:有成熟的存储方案,Session存储中使用最多的方案。
    缺点:分布式环境中,会话一致是痛点。
  • JWT
    优点:分布式环境。
    缺点:运算,不易控制攻击的Token

虽然它们两个各有缺点,但只要把他们优点相互使用上,基本就是一个成熟稳定的解决方案了。

Node.js 例子
mkdir jwt
cd jwt
npm init
npm install jsonwebtoken --save

cat index.js

var jwt = require('jsonwebtoken');
var token = jwt.sign({foo:'bar'}, 'lake');
console.log(token)
官方提供各个语言版本 例子
點擊查看更多內容
2人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質文章

正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優(yōu)惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消