api网关后面的keycloak是一个好习惯吗?

Bro*_*Bro 5 keycloak kong

有什么好的论据支持在Api网关(Kong)后面使用或不使用Keycloak?

jer*_*ney 13

将其置于代理之后需要进行权衡:您将无法通过在全局级别应用 OIDC 插件来轻松保护您的所有服务。相反,您需要使用自己的 OIDC 插件单独配置每个服务。这是因为您将需要至少一项不受 OIDC 插件保护的服务,以便用户代理可以通过该服务进行身份验证。除非您打算在该服务上实施某种其他形式的安全性,或者需要一些其他服务,当请求通过它时,Kong 可以轻松实现这些服务,否则我认为将 Keycloak 置于代理之后的意义不大。这并不是说没有充分的理由这样做,只是我不知道它们。

我已经在代理之外设置了 Keycloak,并且取得了不错的效果。这是它的样子:

带有 kong、keycloak、移动应用程序和 api 的架构图像

我现在正在写一篇关于这个设置的博客文章,我将在下周发布。完成后,我会尽量记住在此处更新我的答案。

编辑

博客链接: 第 1部分第 2 部分


小智 -3

这不是一个好的做法,一个好的企业 API 网关有义务满足(或让您有权自定义)KEYCLOAK 中提供的所有高级身份验证和授权标准。

\n\n

但在某些情况下,如果您已经有一个配置了很多 API\xc2\xb4(具有转换规则、路由规则)的 API 网关,并且该网关可以 \xc2\xb4t 提供身份验证和授权的高级功能(例如 2 因素身份验证)或 Oauth2 授权码/openId / SAML)并且您需要尽快获得更高的安全性,请继续寻找最能满足您需求的网关

\n