首页 > 解决方案 > Angular的身份验证系统(没有登录页面的企业网站)

问题描述

嘿,我们为公司建立了一个企业网站。

当公司中的某个用户连接到该站点时,他有一个用户 ID。

当 id 从客户端发送到后端(Node.JS)时,我检查这个 id 是否在我的网络上,如果他在,他会得到一个访问令牌。

问题是,在他获得访问令牌后,客户端中的用户需要再次重新加载页面以获得访问权限,如果他不刷新页面,“Auth-Guard”会阻止他。

在客户端处理这样的系统的最佳实践是什么?

标签: angulartoken

解决方案


有很多方法可以解决这个问题。

第一,如果您不希望服务即时回复令牌,那么您可以使用某种服务器推送技术(SignalR 是 .Net 解决方案,我确信节点 js 中有一个等价物)。

2当客户端发送ID时,为什么不发送令牌作为回复?获取后,将其保存在服务中并在本地缓存。然后,当执行守卫时,从服务中获取最新值并执行验证。

请提供更多有关这方面的信息。

我的建议是使用一些已知且经过验证的身份验证方法,例如 oauth 2 或 openid connect 从您的身份提供者那里获取令牌。

在做任何其他事情之前,我建议您检查oauth2 的隐式盛大方法,这是使用单页应用程序身份验证的推荐方法。

其他安全问题

  • 请注意,如果客户 ID 是可猜测的,那么人们可能会冒充他人,从而使您的水疗中心变得不安全。
  • 使用 ldap authentication检查这个角度。Active Directory 通常是验证企业用户的最佳方式,因为它不基于易于绕过的客户端代码。

推荐阅读