【问题标题】:How can handle the local authentication when a SSO website is down?SSO 网站关闭时如何处理本地身份验证?
【发布时间】:2021-04-06 23:27:54
【问题描述】:

我们正在开发一个SSO 应用程序,使用IdentityServer4 作为我们公司其他(client)网站的身份验证(非授权)基础设施。我们主要担心的问题之一是 SSO 网站的失败。在这种情况下,我们应该考虑哪些因素来尽量减少clients 问题?

例如,我们想在每个应用程序中创建一个本地登录页面,并要求每个应用程序使用OTP 机制对其进行身份验证。这是否足够或有更好的解决方案?

【问题讨论】:

    标签: authentication architecture single-sign-on identityserver4 openid


    【解决方案1】:

    出于安全原因,您不应尝试添加一些本地登录,这只会使事情变得更复杂、更复杂并且可能更不安全。

    因为您的令牌具有一定的生命周期(例如 1 小时默认值,并且如果您的 SSO 短暂中断,那么您的客户端可以继续运行(除非您一直查询您的 SSO)。

    如果您想让它更可靠,那么您需要开始查看负载平衡器并让多个 IdentityServer 实例运行。如果您确实注意在所有实例上使用相同的键,那么这可能会起作用。

    【讨论】:

    • 我同意你的看法@Tore Nestenius,只是再补充一点。如果您使用的是JWT 令牌,那么它会一直工作到过期,但如果您使用的是Reference token,那么它将无法在 WebApi 中验证令牌,所以也要从这个角度考虑。
    • 如果所有实例共享同一个数据库,那么引用令牌将是相同的,因此它也应该与引用令牌一起使用。
    • @ToreNestenius 不,我不会经常查询SSO,但我对大多数客户使用Reference TokensHybrid Flows。所以我最好寻找load balancers 或其他选项
    • 如果您使用负载平衡器,请注意数据保护 API 和签名密钥的密钥。所有实例的数据保护密钥必须相同,签名密钥也必须相同。
    • @ToreNestenius 任何有用的链接或文件将不胜感激
    猜你喜欢
    • 2020-08-12
    • 1970-01-01
    • 1970-01-01
    • 2017-08-12
    • 1970-01-01
    • 1970-01-01
    • 2015-01-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多