【问题标题】:Is SSO an overhead?SSO 是开销吗?
【发布时间】:2018-12-21 12:01:19
【问题描述】:

假设我有 5 个应用程序,并且我有一个通用的身份验证服务器。 我的应用程序第一次将页面重定向到身份验证服务器,取回 JWT 令牌,然后允许用户进一步使用该应用程序。

现在用户已准备好使用应用程序,但应用程序的后端不知道令牌是否仍然有效或已过期。那么,每次在处理请求之前调用我的应用程序中的 API 时,我是否应该对我的身份验证服务器进行验证调用?它不会增加额外的开销(多跳)并影响应用程序的响应时间吗?

应用程序是否可以在不向身份验证服务器进行网络调用的情况下自行检查令牌的有效性?应用程序开发人员在使用身份验证服务器进行 SSO 时应遵循哪些最佳做法?

【问题讨论】:

    标签: oauth-2.0 jwt single-sign-on


    【解决方案1】:

    应用程序是否可以在不向身份验证服务器发起网络调用的情况下自行检查令牌的有效性?

    • 过期:将 en exp 声明包含到带有过期日期的令牌中。任何客户端都可以解码令牌并检查日期

    • 签名:客户端可以验证令牌的签名以检查它是否来自预期的服务器并信任包含的数据。然后您需要使用非对称密钥对(例如 RSA)

    应用程序开发人员在使用身份验证服务器进行 SSO 时应遵循哪些最佳做法?

    这个问题是基于意见的,在 StackOverflow 中是题外话。您能否更具体地说明您的疑问或包括编程问题?

    SSO 是开销吗?

    不,您的应用程序清楚地说明了为什么需要 SSO 系统:

    • SSO:5 个应用程序 ->1 个用户登录
    • 没有 SSO:5 个应用 -> 5 个用户登录

    【讨论】:

    • 感谢 pefrofb 的快速响应!依赖客户端应用程序解码和验证到期日期的后端是否安全?客户端应用程序如何知道令牌是否被黑客入侵?关于签名:能否请您指出任何参考文章以更好地理解它?
    • 如果您可以使用服务器的公钥验证令牌的签名,或者令牌是通过与服务器的受信任连接获得的,则它是安全的。我的意思是 SSL/TLS 通道。请参阅thisthis 问题以了解使用对称或非对称密钥之间的区别
    猜你喜欢
    • 2019-04-09
    • 1970-01-01
    • 1970-01-01
    • 2015-08-01
    • 2010-12-12
    • 2021-01-02
    • 1970-01-01
    • 2015-07-15
    • 2012-01-05
    相关资源
    最近更新 更多