通过代理或直接从单页应用程序访问Keycloak Admin API?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过代理或直接从单页应用程序访问Keycloak Admin API?相关的知识,希望对你有一定的参考价值。

我有一个SPA,一个后端REST API和作为身份服务器的Keycloak。

对于网站的管理员功能,我需要访问Keycloak Admin API,现在我想知道,最好还是什至可以使用当前登录管理员的令牌直接从SPA直接访问Keycloak API,或者最好在我的后端API中创建终结点,然后充当Keycloak Admin API的代理。

除端点定义外,在Keycloak REST API上似乎很难获得任何好的信息。因此,我不确定一个普通的管理令牌是否还可以满足API的身份验证,如果可以,那么它看起来应该是什么样的,因为您可以对JWT有效负载进行很多修改,而我尝试将其最小化。

答案

没有明确答案。这实际上取决于您的安全意识以及您能够接受哪种安全风险。我知道Keycloak Admin API在nginx反向代理后面且具有必需的相互TLS身份验证的实例。因此,在现有Keycloak身份验证的基础上还有一个额外的身份验证方法(TLS客户端证书),只是为了使坏人更难。

我想说从SPA进行直接访问将很容易实现(如果您能够对所有潜在的CORS问题进行排序),但是通过后端代理为您提供了在应用程序级别上审核请求的更好选择。

以上是关于通过代理或直接从单页应用程序访问Keycloak Admin API?的主要内容,如果未能解决你的问题,请参考以下文章

在 ionic 4 中从单页视图导航到侧面菜单布局

Keycloak:如何仅通过身份提供者登录

通过访问或 id 令牌/令牌交换建立 SSO/设置 cookie

Spring Boot - 无法通过 Zuul 代理获得 Keycloak 授权 api 的响应

通过 2 个公共 URL 公开的 Keycloak 服务器

如何使用反向代理修复 Keycloak 中的“我们很抱歉需要 HTTPS”?