2

JWTのsubクレームはオプションですが、feathersjs-authentication では空白文字列に設定したり削除したりできません。

authentication以前はペイロードに新しい値を追加できましたhookが、変更subまたは削除しようとしても機能しません。

app.service('/api/auth').hooks({
  before: {
    create: [
      // You can chain multiple strategies
      auth.hooks.authenticate(['jwt', 'local']),

      hook => {
        // I can add a new `SUB` value but this method doesn't work for `sub`
        Object.assign(hook.params.payload, {SUB: hook.params.payload.userId})
      }
    ],
...

同じ変更をafterフックに追加しようとしましたが、それもうまくいきませんでした。sub値を as にするanonymousことは、私には正しくないようです。彼らのドキュメントにも次のように書かれています。

subject: 'anonymous', // Typically the entity id associated with the JWT

subしかし、 JWT に動的な値を要求させる簡単な方法はないようです。

4

1 に答える 1