如何在 express-unless 中为特定路由指定 Http 方法?
How can i specify a Http Method for a specific route in express-unless?
我正在使用 express-jwt 来限制对我的 API 路由的访问。
app.use(expressJWT(
{ secret: process.env.JWT_PASSPHRASE })
.unless({
path: [
'/login',
'/users',
{ url: '/', methods: ['POST'] }]
})
)
现在 /login 路由可以像预期的那样在没有令牌的情况下访问。
现在我也想允许 /users 路由,但仅使用 POST 方法,
我已经根据文档进行了尝试,但我很确定我做错了,因为所有针对 /users 的请求方法都已打开。
我测试过的第二个选项:
app.use(expressJWT(
{ secret: process.env.JWT_PASSPHRASE })
.unless({
path: [
'/login',
'/users',
{ url: '/users', methods: ['POST'] }]
})
)
好的,经过一番研究,我做了一个自定义回调,如下所示:
app.use(expressJWT(
{ secret: process.env.JWT_PASSPHRASE })
.unless( req =>{
return(
req.originalUrl === '/login' ||
req.originalUrl === '/users' && req.method === 'POST'
)
})
)
我正在使用 express-jwt 来限制对我的 API 路由的访问。
app.use(expressJWT(
{ secret: process.env.JWT_PASSPHRASE })
.unless({
path: [
'/login',
'/users',
{ url: '/', methods: ['POST'] }]
})
)
现在 /login 路由可以像预期的那样在没有令牌的情况下访问。
现在我也想允许 /users 路由,但仅使用 POST 方法,
我已经根据文档进行了尝试,但我很确定我做错了,因为所有针对 /users 的请求方法都已打开。
我测试过的第二个选项:
app.use(expressJWT(
{ secret: process.env.JWT_PASSPHRASE })
.unless({
path: [
'/login',
'/users',
{ url: '/users', methods: ['POST'] }]
})
)
好的,经过一番研究,我做了一个自定义回调,如下所示:
app.use(expressJWT(
{ secret: process.env.JWT_PASSPHRASE })
.unless( req =>{
return(
req.originalUrl === '/login' ||
req.originalUrl === '/users' && req.method === 'POST'
)
})
)