我们有一个使用Keycloak进行身份验证的Web应用程序。 并且我们需要添加JWT作为SSO可能性。
Keycloak使我们能够为主要拥有某种SAML设置的客户轻松地设置SSO。
然而,新系统几乎卖给了我们所有的客户,但该系统也声称可以提供sso。
但是我真的不明白,因为他们只是发送JWT(Json Web令牌)。
仅此而已,我看不出将其设置为身份提供者的任何方法。
所以我认为,也许我们将一些JWT添加到浏览器登录流程中,然后请求帐户链接。
在管理控制台中设置起来看起来非常简单,就像这样
我想知道是否有可能这样的事情?
如果这是我如何将自定义身份验证器分配给新创建的“门户JWT”流。
我一直在阅读一些keyclaok服务器开发文档here
我还没有尝试对此进行编码,因为我不确定我的想法是否可行。
并且文档还提到要部署此假定的自定义身份验证器,我只需将其放置在providers目录中即可。似乎已经不存在了。
我意识到这个问题不包含任何代码,因此我在这里提出问题可能是错误的,但是对我来说,这似乎是我所知道的最适合的堆栈交换。
仍然愿意纠正我。
答案 0 :(得分:0)
我对您的流程并不十分清楚,但是当涉及到“ Keycloak是否支持SSO”时,答案肯定是肯定的。
您可以通过以下几种方式使用Keycloak:
要执行上述任一操作,Keycloak都支持SAML和OIDC。 SAML是基于XML的。 OIDC可能就是您所指的。 OIDC使用签名的JWT令牌(访问令牌和ID令牌)来传达身份信息。
如果有人说“发送JWT令牌”,那么他们可能在谈论Keycloak-as-Identity-Broker用例。为了将第三方身份提供者集成到您的Keycloak身份代理中,您不仅需要他们的JWT令牌。通常,您至少需要四件事:他们的身份验证端点,他们的令牌端点以及它们提供给您的client_id和client_secret。这使您的Keycloak可以信任他们的第三方IdP,而这正是Keycloak能够识别,验证和使用由他们发布的JWT令牌的原因。