繁体   English   中英

根据我的要求在 AngularJS 中进行身份验证的最佳实践

[英]Best practices for authentication in AngularJS for my requirements

我在 NodeJS 中使用 angularJS 和 expressJS。 我需要它的授权方法来工作现有的基础设施。

对于现有的基础设施,我们已经有一个单点登录安全应用程序。 它验证用户名/密码,然后在会话 cookie 和数据库中设置会话 ID。 当用户访问我们的其他应用程序时,他们会检查用户浏览器中的会话 ID 是否存在于我们的数据库中,以及它是否已过期; 如果会话 ID 有效,则允许用户访问。

对于我的新项目,我计划保护 expressJS API,因为它访问数据库。 我计划创建一个检查会话 ID 函数来检查会话 ID 在数据库中是否有效。 我要求每个 expressJS API 函数都有一个会话 ID 参数,并在传入的参数上调用检查会话 ID 函数。 接下来我计划使用 anuglarJS 中的 cookie 服务来访问存储在会话 cookie 中的会话 ID,并将其传递给在 angularJS 中调用的每个 expressJS API。

使用我现有的基础设施,您认为这是一个好的解决方案吗?

使用会话时,您无需检查会话 ID。 相反,将一些用户配置文件字段(例如电子邮件)保存到会话中,并检查每个请求中是否存在配置文件。

改进: 1. 登录后销毁并创建新会话 2. 设置会话超时,可能是 30 分钟 3. 禁用跨域请求 4. 最后,使用中间件功能检查每个请求中的身份验证,例如app.use('*', function (req, res, next) { checkAuth(req, res, next); });

在函数 checkAuth 中,检查会话中的配置文件,如果是肯定的,则调用 next(),否则给出拒绝访问的响应

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM