Keycloak 具有mod_auth_openidc优势的钥匙斗篷 我在我们的基础设施中设置SSO的过程中,我想知道人们是否有更多的经验可以分享他们的学习。 我的系统前面已经有一个反向代理了 我们有几个在tomcat上运行的遗留java应用程序 我们有用JS编写的SPA应用程序 我们几乎没有需要保护的API

Keycloak 具有mod_auth_openidc优势的钥匙斗篷 我在我们的基础设施中设置SSO的过程中,我想知道人们是否有更多的经验可以分享他们的学习。 我的系统前面已经有一个反向代理了 我们有几个在tomcat上运行的遗留java应用程序 我们有用JS编写的SPA应用程序 我们几乎没有需要保护的API,keycloak,mod-auth-openidc,Keycloak,Mod Auth Openidc,我有两种方法为我们设置SSO 使用mod_auth_openidc在反向代理上设置SSO,以便我们的网守确保访问我们服务的任何人都已经过验证 向每个单独的服务添加keydepose libs 我倾向于在referese代理上设置这个 在这方面有什么缺点/最佳做法吗 对于遗留应用程序,我只需要使用反向代理添加的HTTP头来查找用户详细信息 对于新的应用程序,我想使用keydape libs来获取用户详细信息 我不想走一些明显有问题的路线。因此,任何提示,以便我可以节省一些时间是非常欢迎的 到目前为

我有两种方法为我们设置SSO

  • 使用mod_auth_openidc在反向代理上设置SSO,以便我们的网守确保访问我们服务的任何人都已经过验证

  • 向每个单独的服务添加keydepose libs

  • 我倾向于在referese代理上设置这个

    在这方面有什么缺点/最佳做法吗

    对于遗留应用程序,我只需要使用反向代理添加的HTTP头来查找用户详细信息 对于新的应用程序,我想使用keydape libs来获取用户详细信息

    我不想走一些明显有问题的路线。因此,任何提示,以便我可以节省一些时间是非常欢迎的

    到目前为止,我已经提出了以下清单

    支持使用代理服务器和mod_auth_openidc

    • 处理所有特定于身份验证的配置的单一位置
    • 抽象出SSO的实现细节。例如,我们不需要将KeyClope集成到每项服务中。在我看来,如果我们以后决定实际移动到另一个SSO,这可能会导致问题。(我知道这种情况并不经常发生)
    禁止使用代理服务器和mod_auth_openidc

    • 需要维护的附加软件(bug等)
    • 如果应用程序还与KeyClope集成,可能会对凭据进行额外检查(可能不需要,但仅当应用程序中需要KeyClope特定功能,而头文件中没有这些功能时才需要)
    我想听听其他人对利弊的看法


    谢谢

    作为mod_auth_openidc的主要作者,我同意您的选择;-)我也对其他人对此的看法感兴趣,并将在此基础上撰写一份书面报告。您好,非常感谢您的评论!我还有一个关于模块的问题。也许你可以在这里回答。mod_auth_openidc对代理服务是否透明?e、 如果我在API端使用KeyClock库。密钥斗篷库是否会在报头中看到cookie和承载令牌,并将请求视为已登录?在这种情况下,从API端到idp会有额外的往返吗?mod_auth_openidc可以是透明的。这是OAuth2.0场景;请求将首先由Apache服务器/模块进行验证,然后在KeyClope库中进行第二次验证;不会从原始请求中删除任何内容,一些信息可能会选择性地添加到标题中,只需对您的上一个/2个缺点进行评论:不需要应用程序与Key斗篷及其库集成;通常,它将依赖于它前面的反向代理设置的头