问题描述
我们正在开发一个 SSO
应用程序,使用 IdentityServer4
作为我们公司其他 (client
) 网站的身份验证(非授权)基础架构。我们主要关注的问题之一是 SSO 网站的失败。在这种情况下,我们应该考虑哪些因素来尽量减少 clients
问题?
例如,我们希望在每个应用程序中创建一个本地登录页面,并要求每个应用程序使用 OTP
机制对其进行身份验证。这足够了吗,或者有更好的解决方案吗?
解决方法
出于安全原因,您不应该尝试添加一些本地登录,它只会使事情变得更加复杂、复杂并且可能不那么安全。
因为您的令牌有一定的生命周期(例如默认为 1 小时,如果您的 SSO 出现短暂故障,那么您的客户端可以继续操作(除非您一直查询您的 SSO)。
如果您想让它更可靠,那么您需要开始查看负载平衡器并运行多个 IdentityServer 实例。如果您确实注意在所有实例上使用相同的密钥,这会起作用。