我正在考虑将Keycloak部署为我们的身份验证系统,因为它具有很多好处(例如与客户IDP的轻松集成以及对oauth2协议领域的全面支持)。我现在面临的主要问题是如何在不通过网络发送用户名和密码的情况下对服务帐户进行身份验证。
我想做的是为支持已签名JWT机制的服务帐户提供身份验证流程,用户将创建一个已签名JWT,然后将其发送到密钥斗篷服务器,该服务器可以通过使用已注册的公钥来对其进行验证。该服务。 Keycloak将使用Bearer令牌(JWT)和刷新令牌进行响应。
基于这个邮件列表线程:https://lists.jboss.org/pipermail/keycloak-dev/2015-August/005112.html和合并的PR:https://github.com/keycloak/keycloak/pull/1545,似乎keycloak可以做到这一点,但是他们的界面自2015年以来发生了变化,目前尚不清楚如何使它起作用。
是否有人能够使用签名令牌获得密钥斗篷来认证服务帐户(以及用户)?有关如何操作的任何提示?
谢谢, -S
答案 0 :(得分:0)
好,知道了。
根据他们在Confidential Client Credentials上的文档,我们有以下说明:
如果您在客户端的“设置”标签中将客户端的访问类型设置为机密,则会显示一个新的“凭据”标签。作为处理此类客户端的一部分,您必须配置客户端的凭据。
他们遗漏的是,只有在将“访问类型”设置为“机密”后单击“保存”后,“凭据”选项卡才会显示。我创建了PR以解决文档here中的漏洞。