Keycloak:验证和授权(非人类)服务用户,API密钥与oAuth

时间:2018-08-15 09:30:08

标签: oauth-2.0 openid-connect keycloak api-key

我们目前正在考虑使用密钥斗篷来保护我们的系统。但是,我们不确定要给受信任的(非人类)合作伙伴访问我们系统资源的正确策略。

在这种情况下,受信任的合作伙伴可能是一个Web服务,将对我们系统上的公共数据具有只读访问权限。访问的资源不属于特定用户(即一些常规统计信息)。

我可以想到两种可能的方法:

  1. 经典的API密钥解决方案。有利的一面是,这是一种合理的安全解决方案,对我们和我们的系统几乎没有任何成本。据我所知,不利的一面是似乎没有内置的密钥斗篷解决方案。因此,我们系统的一部分将必须保护自己,这可能意味着我们必须在keycloak客户端配置中将这些路由公开。
  2. 使用密钥斗篷的oAuth解决方案。在这里,我们的合作伙伴将获得用户名/密码和特定角色。好处包括可以100%使用密钥斗篷保护我们的系统。但是,此用户将由自动化服务而不是人员使用,并且似乎没有为这种应用程序制作密钥斗篷。我知道可以通过对keycloak的API调用来检索令牌。但是在keycloak中仍然内置了重定向到登录页面的重定向,每种自动处理方式似乎都是一种肮脏的解决方法。

因此,我向认证专家提出的问题是:密钥斗篷中是否有一些内置功能可以处理这种情况(或经典的API密钥)?对于这种情况,像oAuth2这样的方法是否正确?

0 个答案:

没有答案