【发布时间】:2018-05-25 22:49:12
【问题描述】:
我正在使用 Express.js 开发一个 RESTful API,并且我正在使用 Passport.js 进行身份验证。
这是我如何将护照与路线一起使用的示例:
const beerRoutes = require('./beerRoutes') // an instance of express router
let authenticateRoute = passport.authenticate('jwt', { session: false })
router.use('/beer', authenticateRoute, beerRoutes)
beerRoutes.js 内部:
const router = require('express').Router()
router.post('/', (req, res) => {})
router.get('/', (req, res) => {})
router.patch('/', (req, res) => {})
router.delete('/', (req, res) => {})
问题是,我希望未经身份验证的客户端能够创建新用户(即POST /beer/)。
但我也想在经过身份验证的客户端向同一个端点发送请求时给予额外的权限。
如何在不让未经身份验证的客户端访问beerRoutes(例如PATCH /beer/)内的其他路由的情况下实现这一点?
【问题讨论】:
标签: node.js rest express passport.js restful-authentication