12

express-jwt ドキュメントには、getToken 関数を使用してリクエストからトークンを取得できることへの参照があります。

ルートでこの呼び出しをどのように使用しますか?

app.use(jwt({
  secret: 'hello world !',
  credentialsRequired: false,
  getToken: function fromHeaderOrQuerystring (req) {
    if (req.headers.authorization && req.headers.authorization.split(' ')[0] === 'Bearer') {
        return req.headers.authorization.split(' ')[1];
    } else if (req.query && req.query.token) {
      return req.query.token;
    }
    return null;
  }
}));
4

2 に答える 2

2

そのようです:

app.get('/protected',
  jwt({
    secret: 'hello world !',
    credentialsRequired: false,
    getToken: function fromHeaderOrQuerystring(req) {
      if (req.headers.authorization && req.headers.authorization.split(' ')[0] === 'Bearer') {
        return req.headers.authorization.split(' ')[1];
      } else if (req.query && req.query.token) {
        return req.query.token;
      }
      return null;
    }
  })
);

getTokenjwt ミドルウェアに渡すオブジェクトにフィールドを追加するだけです。これは、質問の例とドキュメントの最初の例を組み合わせたものです。

于 2015-05-26T15:21:31.123 に答える