0

これは、ルーティングを配線する高速な方法です。

// routes
app.get('/grid', function ..
..

app.use('/grid', expressJwt({secret : secret}));

しかし、エイリアスを使用してルーティングを配線すると (エクスプレス >= 4) ..

var gridRouter  = express.Router()
, authRouter  = express.Router();

// routes
grid.get('/', function ..

app.use('/grid', gridRouter)
app.use('/auth', authRouter)

... jwt が機能しません。

4

1 に答える 1

0

私は自分で答えを見つけたので、共有したいと思いました。ExpressJWT で個々のルーター エイリアスを保護することはできませんが、慣れ親しんだ方法でパスを保護することはできます。

var gridRouter  = express.Router()
, authRouter  = express.Router();

app.use('/grid/nestedGridPath', expressJwt({secret: secret}))
app.use('/auth/nestedAuthPath', expressJwt({secret: secret}))

app.use('/grid', gridRouter)
app.use('/auth', authRouter)

ソース: https://www.npmjs.org/package/express-jwt

アップデート:

余談ですが、express-Jwt をまったく機能させるのに問題がある場合でも、直接接続することができます。

app.delete('/grid/delete/:id', expressJwt({secret:secret}), myFunc);
于 2014-10-01T14:11:26.677 に答える