具有oauth2和客户端凭据授予类型的密钥斗篷,可向我的公共API认证外部客户端(服务/应用程序)

时间:2019-11-19 11:54:35

标签: oauth-2.0 keycloak

我是keycloak和oauth2的新手,需要您的帮助。

我正计划开发一个公共API,以便我的客户客户端应用程序/服务可以在系统中执行某些操作,而无需人工干预。因此,我需要让他们使用“服务帐户”和“ API密钥”对API进行身份验证。

我发现执行此操作的“ oauth2方法”称为“两足”,实际上是客户端证书授予类型。

我正在尝试了解如何配置密钥斗篷以实现这一目标。我找到了以下stack-overflow answer,但是答案的作者在评论中写道:“虽然我有一段时间没有与Keycloak一起工作,所以这种方法可能已经过时了。”

据我所知,我需要使用以下配置为每个外部客户端创建一个客户端:

  • 访问类型:机密
  • 已启用标准流程:关闭
  • 已启用直接访问权限:关闭
  • 已启用服务帐户:开

我需要配置一些作用域。我不完全了解。

外部客户端将获得属于其特定客户端的凭据(客户端ID和密码)。 并且为了执行针对公共API的请求,他将要求keycloak提供有效的令牌,然后将带有该令牌的请求发送到我的公共API。

我的问题是:

  1. 这是使用密钥斗篷进行操作的正确方法吗?

  2. 是否可以通过以下方式配置密钥斗篷:将每个外部客户端配置为用户而不是密钥斗篷中的客户端,但仍支持客户端证书授予类型?

  3. 我的公共API如何验证令牌?我必须发送请求到keycloak以验证令牌吗?还是可以用一些证书对其进行验证?

请咨询, 谢谢!

0 个答案:

没有答案