使用js语言生成JWTtoken

##使用js语言生成token
const CryptoJS = require('crypto-js'); function getToken(secret,key,tokenName){ var expTime = 3600;##token超时时间 var header = {'typ': 'JWT','alg': 'HS256'}; var currentTimestamp = Math.floor(new Date() / 1000); var data = {'iss': key,'iat': currentTimestamp,'exp': currentTimestamp +expTime}; function base64url(source) { encodedSource = CryptoJS.enc.Base64.stringify(source); encodedSource = encodedSource.replace(/=+$/, ''); return encodedSource;}; var stringifiedHeader = CryptoJS.enc.Utf8.parse(JSON.stringify(header)); var encodedHeader = base64url(stringifiedHeader); var stringifiedData = CryptoJS.enc.Utf8.parse(JSON.stringify(data)); var encodedData = base64url(stringifiedData); var token = `${encodedHeader}.${encodedData}`; var signature = CryptoJS.HmacSHA256(token, secret); signature = base64url(signature); var signedToken = `${token}.${signature}`; pm.environment.set(tokenName, signedToken); }; var secret = pm.environment.get("secret"); var key = pm.environment.get("key"); getToken(secret,key,'token')

在postman中是这样使用的

 使用后效果是在请求头中添加一个Authorization。

 

posted @ 2025-02-24 10:37  镇江大侠  阅读(88)  评论(0)    收藏  举报