嘿,我们为公司建立了一个企业网站。
当公司中的某个用户连接到该网站时,他就有一个用户 ID。
当 id 从客户端发送到后端(Node.JS)时,我检查该 id 是否在我的网络上,如果是,他会获得访问 token 。
问题是,在获得访问 token 后,客户端中的用户需要再次重新加载页面才能获得访问权限,如果他不刷新页面,“Auth-Guard”就会阻止他。
在客户端处理此类系统的最佳实践是什么?
最佳答案
有很多方法可以解决这个问题。
第一,如果您不希望服务即时回复 token ,那么您可以使用某种服务器推送技术(SignalR 是 .Net 解决方案,我确信节点中有一个等效的技术) js)。
第二,当客户端发送 id 时,为什么不发送 token 作为回复?当您获取它时,将其保存在服务中并在本地缓存。然后,当执行守卫时,从服务获取最新值并执行验证。
请提供更多相关信息。
我的建议是使用一些已知且经过验证的身份验证方法,例如 oauth 2 或 openid connect 从您的身份提供商获取 token 。
在做任何其他事情之前,我建议您检查implicit grand method for oauth2 ,这是单页应用程序身份验证的推荐方法。
其他安全问题
- 请注意,如果客户端 ID 是可猜测的,那么人们就可以冒充其他人,从而使您的水疗中心变得不安全。
- 检查这个 angular with ldap authentication 。 Active Directory 通常是验证企业用户的最佳方式,因为它不基于客户端代码,很容易被绕过。
关于angular - Angular 的身份验证系统(没有登录页面的企业站点),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58797725/