我想知道如何创建一个无需任何身份验证即可访问的端点(GET,POST等)。这是我的代码:
router.use(AuthenticationManager.ensureAuthenticated());
router.use('/', require('./index'));
router.use('/path-1', require('./path1'));
router.use('/path-2', require('./path2'));
所有端点都将享受Authentication Manager
。如何仅在./path1
或./path2
内的某些端点中禁用该身份验证管理器?
答案 0 :(得分:1)
执行此操作的常规方法是在AuthenticationManager
中间件:
router.use('/path-1/unprotected', require('./path1'));
router.use('/path-2/unprotected', require('./path2'));
router.use(AuthenticationManager.ensureAuthenticated());
这取决于path1.js
和path2.js
输出的确切位置,如果它按原样运行,或者您需要进行一些重写。
答案 1 :(得分:0)
您可以使用以下命令对特定端点使用身份验证:
app.post('/profile', AuthenticationManager.ensureAuthenticated , userController.getUserProfile);