日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jsonwebtoken中文文档

發布時間:2025/5/22 编程问答 184 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jsonwebtoken中文文档 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

jsonwebtoken

用法

jwt.sign(payload, secretOrPrivateKey, [options, callback])

(異步)如果提供回調,則使用err或JWT 調用回調。

(同步)將JsonWebToken返回為字符串。

payload必須是一個object, buffer或者string。請注意, exp只有當payload是object字面量時才可以設置。
secretOrPrivateKey 是包含HMAC算法的密鑰或RSA和ECDSA的PEM編碼私鑰的string或buffer。
options:

  • algorithm:加密算法(默認值:HS256)

  • expiresIn:以秒表示或描述時間跨度zeit / ms的字符串。如60,"2 days","10h","7d",Expiration time,過期時間

  • notBefore:以秒表示或描述時間跨度zeit / ms的字符串。如:60,"2days","10h","7d"

  • audience:Audience,觀眾

  • issuer:Issuer,發行者

  • jwtid:JWT ID

  • subject:Subject,主題

  • noTimestamp

  • header

如果payload不是buffer或string,它將被強制轉換為使用的字符串JSON.stringify()。
在expiresIn,notBefore,audience,subject,issuer沒有默認值時。也可以直接在payload中用exp,nbf,aud,sub和iss分別表示,但是你不能在這兩個地方同時設置。
請記住exp,nbf,iat是NumericDate類型。
生成的jwts通常會包含一個iat值除非指定了noTimestamp。如果iat插入payload中,則將使用它來代替實際的時間戳來計算其他事情,諸如options.expiresIn給定一個exp這樣的時間間隔。

// sign with default (HMAC SHA256) var jwt = require('jsonwebtoken'); var token = jwt.sign({ foo: 'bar' }, 'shhhhh'); //backdate a jwt 30 seconds var older_token = jwt.sign({ foo: 'bar', iat: Math.floor(Date.now() / 1000) - 30 }, 'shhhhh');// sign with RSA SHA256 var cert = fs.readFileSync('private.key'); // get private key var token = jwt.sign({ foo: 'bar' }, cert, { algorithm: 'RS256'});// sign asynchronously jwt.sign({ foo: 'bar' }, cert, { algorithm: 'RS256' }, function(err, token) {console.log(token); });

Token Expiration (exp claim)

簽署1小時期限的token:

jwt.sign({exp: Math.floor(Date.now() / 1000) + (60 * 60),data: 'foobar' }, 'secret');

使用此庫生成令牌的另一種方法是:

jwt.sign({data: 'foobar' }, 'secret', { expiresIn: 60 * 60 });//or even better:jwt.sign({data: 'foobar' }, 'secret', { expiresIn: '1h' });

jwt.verify(token,secretOrPublicKey,[options,callback])

驗證token的合法性

jwt.decode(token [,options])

(同步)返回解碼沒有驗證簽名是否有效的payload。
警告:這不會驗證簽名是否有效。你應該不為不可信的消息使用此。你最有可能要使用jwt.verify()。

錯誤與代碼

TokenExpiredError
如果令牌過期,則拋出錯誤。
錯誤對象:

  • name:'TokenExpiredError'

  • message:'jwt expired'

  • expiredAt:[ExpDate]

JsonWebTokenError
錯誤對象:

  • name:'JsonWebTokenError'

  • message:

    • jwt異常

    • jwt簽名是必需的

    • 無效簽名

    • jwt觀眾無效 預期:[OPTIONS AUDIENCE]

    • jwt發行人無效。預期:[OPTIONS ISSUER]

    • jwt id無效。預期:[OPTIONS JWT ID]

    • jwt主題無效。預期:[OPTIONS SUBJECT]

總結

以上是生活随笔為你收集整理的jsonwebtoken中文文档的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。