我是keycloak和oauth2的新手,需要您的帮助。
我正计划开发一个公共API,以便我的客户客户端应用程序/服务可以在系统中执行某些操作,而无需人工干预。因此,我需要让他们使用“服务帐户”和“ API密钥”对API进行身份验证。
我发现执行此操作的“ oauth2方法”称为“两足”,实际上是客户端证书授予类型。
我正在尝试了解如何配置密钥斗篷以实现这一目标。我找到了以下stack-overflow answer,但是答案的作者在评论中写道:“虽然我有一段时间没有与Keycloak一起工作,所以这种方法可能已经过时了。”
据我所知,我需要使用以下配置为每个外部客户端创建一个客户端:
我需要配置一些作用域。我不完全了解。
外部客户端将获得属于其特定客户端的凭据(客户端ID和密码)。 并且为了执行针对公共API的请求,他将要求keycloak提供有效的令牌,然后将带有该令牌的请求发送到我的公共API。
我的问题是:
这是使用密钥斗篷进行操作的正确方法吗?
是否可以通过以下方式配置密钥斗篷:将每个外部客户端配置为用户而不是密钥斗篷中的客户端,但仍支持客户端证书授予类型?
我的公共API如何验证令牌?我必须发送请求到keycloak以验证令牌吗?还是可以用一些证书对其进行验证?
请咨询, 谢谢!