vue中如何直接生成jwt?

最近需要用到jwt,领导让自己生成,不需要服务端生成。
但是使用jsonwebtoken等都是只能在node中使用,在vue2中使用报错。

有没有直接在前端代码中使用的库推荐?

阅读 1.9k
4 个回答

只在浏览器端生成怎么保证安全性……

你可以在浏览器环境中使用 JavaScript 库来处理 JWT。拉取个jsrsasign尝试下。

npm install jose

npm install jsrsasign

https://jwt.io/libraries 官网,下面列举了不同语言可以使用的包和库。
image.png

我的代码:

import KJUR from "jsrsasign";

function createJWT(){
    // Header
    var oHeader = { alg: "HS256", typ: "JWT" };
    // Payload
    var oPayload = {
        "external_id": "12345678",
        "email": "janes@soap.com",
        "email_verified": true,
        "name": "Jane Soap",
        "scope": "user"
    };
    const secretKey = '你的秘钥'
    // Sign JWT, password=616161
    var sHeader = JSON.stringify(oHeader);
    var sPayload = JSON.stringify(oPayload);
    var sJWT = KJUR.jws.JWS.sign("HS256", sHeader, sPayload, secretKey);
    console.log(sJWT)
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏