2

我已经实现了 2 条路线: app.post('/login', passport.authenticate....); app.get('/admin', myfunction);

如果用户第一次发帖登录,我将他重定向到 /admin。

如果用户直接去获取 /admin 怎么办?我如何确保除非他登录,否则不允许他访问 /admin 并被重定向到登录屏幕?

同样对于从应用程序访问的 API,如果用户未通过护照验证,我如何发送 401?

4

1 回答 1

3

Passport 是需要路由保护的地方需要包含的中间件

Passport.js 是 Express 的中间件。您将它包含在任何需要保护的路由中,而不仅仅是登录路由/页面。

作为复习,对Expressjs 中的中间件和 app.use 实际上意味着什么?这个链接到非现场页面连接中间件的简短指南也可以提供帮助。

保护 API 路由

首先,重复上面所说的... Passport 是中间件,因此您需要将它包含在定义 API 的路由中。此外,请参阅:

至于 401,如果您还没有为它们编写自己的处理程序,Passport 会在失败时为您生成这些。

于 2014-05-25T12:59:13.217 回答