javascript - 将非用户字段添加到负载以用于 JWT token

标签 javascript node.js jwt feathersjs feathers-authentication

您好,我想在身份验证过程中向有效负载添加一个非用户字段,以便我可以包含在 JWT token 中。

请求是这样的:

{ "scriptId": "script1", "password": "password", "userName": "user1" }

配置是这样的:

  "auth": {
    "local": {
      "usernameField" : "scriptId"
    },
    "token": {
      "secret": "mysecret",
      "payload": ["scriptId","userName"],
      "expiresIn": "10min"
    },
    "successRedirect": "/chat.html"
  }

我如何传递 userName 参数,以便我可以在 auth/token 服务的 before hook 中检索它,以便我可以将它传递给 hook.data

或者,如果有更好的方法,请告诉我。

最佳答案

检查 this PR:

// default.json
{
  "auth": {
    "extraFields": [
      "email",
      "roles"
    ]
  }
}

extraFields 是您的用户对象的字段名。因此,进入 JWT 的数据需要由您的用户端点提供。

关于javascript - 将非用户字段添加到负载以用于 JWT token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39778654/

相关文章:

Javascript多重 promise 不适用于q和请求中间

node.js - 如何使用带有 Node 的 REST Api 自定义 PayPal 页面?

Rails 中带有 Turbolinks 的 Javascript 条件?

javascript - 背景位置固定在展开/折叠列表中

node.js - Bluebird 而不是 Koa 中的 Co?

security - 在每个请求上刷新 Auth Token 是否可行?

node.js - 从 Google JWT 到使用 React 和 Node.js 访问和刷新 token

c# - 从 SignalR 请求中检索持有者 jwt token

javascript - 当带有 arg 的函数抛出时 QUnit 终止,除非包装在匿名函数中

javascript - socket.io 中多个 axios get 请求。通过 `socket.emit` 同时发送两个事件