1

こんにちは、JWT トークンに含めることができるように、認証プロセスのペイロードに非ユーザー フィールドを追加しようとしています。

リクエストは次のようなものです。

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

構成は次のようになります。

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

auth/token サービスの before フックで取得できるように userName パラメータを渡すにはどうすればよいですか?

または、それを行うためのより良い方法があれば、私に知らせてください。

4

3 に答える 3

0
  1. コマンド 'feathers generate hook' を使用して、サービス認証用に add_payload (または必要なもの) と呼ばれるアフター フックを作成します。

  2. 内部 /src/service/authentication/index.js エクスポートの末尾に追加

app.service('/auth/local').after(hooks.after);

  1. /src/service/authentication/hooks に index.js ファイルを作成すると、内容は次のようになります。

'use strict' const addPayload = require('./add_payload'); const globalHooks = require('../../../hooks'); const hooks = require('feathers-hooks'); exports.after = { all: [addPayload()], find: [], get: [], create: [], update: [], patch: [], remove: [] };

  1. フック関数内... /src/service/authentication/hooks/add_payload.js

    return function(hook) { hook.result.aa = "xyz"; // add whatever you want to the return here... hook.addPayload = true; };

于 2016-11-04T05:48:02.303 に答える