网站用户的 Passport Facebook 身份验证以及管理员的本地身份验证

Passport Facebook authentication for website users plus local authentication for admin

我正在创建一个网站,后端使用 node 和 express 框架,前端使用 angular。我正在使用护照进行身份验证。我网站的用户只能使用他们的 Facebook ID 登录或注册,目前为止这是有效的。现在我必须创建一个管理员登录。我要遵循的步骤是-

1] 创建一个单独的路由,在末尾有一些秘密字符串来登录 页。喜欢 localhost:8080/p08jnl

2] 在此页面上输入用户名和密码时,管理员输入 凭据,并将为此使用 passport 本地身份验证

3] admin routes只有在admin portal登录后才能访问,我 将在这些路由上定义一个中间件 isAuthenticated()

我担心的是,对于用户的路由,我定义了一个 isAuthenticated() 函数,这样只有经过身份验证的用户才能访问这些路由。

任何经过身份验证的用户都可以访问管理员的路由吗?

有关我的身份验证的更多详细信息- 当我的网站 URL 被调用时

'localhost:8080'

我发送了一个页面,上面有 Facebook 身份验证按钮,没有发送 angular 网络应用程序,当用户通过 Facebook 进行身份验证时,客户端 angular 网络应用程序被发送。

我打算在调用管理员 URL 时发送一个页面,其中包含用户名和密码输入字段。成功登录后,将发送管理员 angular 网络应用程序。

Would any authenticated user be able to access the routes for admin?

只需创建另一个名为 isAdmin 的中间件,它会检查该用户是否是管理员。然后将 isAdmin 中间件放在任何 /admin 路由(或 /p08jnl 路由之前)。