Keycloak - 限制同一领域中某些用户的客户端访问

问题描述 投票:0回答:1

我对身份验证概念很陌生,也许我做错了一些事情,但我需要一些有关密钥斗篷管理的帮助。

我在服务器上安装了 keycloak,创建了一个领域、一个客户端和一个用户。客户端使用具有机密访问类型的 openid-connect。我设法通过使用 CURL 查询 keycloak 服务器并显示登录表单来连接我的 PHP 应用程序,我获取了代码,然后获取了访问令牌,这部分一切都很好。

我现在想做的是在我的领域中配置一些客户端,因为我有几个应用程序想要通过 keycloak 身份验证来保护,但我不希望所有用户访问所有客户端,最终我想为每个应用程序设置一些角色我的应用程序将检索的用户。我浏览了文档和 keycloak 管理界面,但我无法使其正常工作。这似乎是一件非常基本的事情,但老实说,我不明白如何实现它......有人解决了此类问题并可以帮助我吗?

security authentication keycloak openid-connect
1个回答
0
投票

理解 keycloak 中的授权有点微妙。 KeyCloak 并不是为处理应用程序的限制而设计的。它进行身份验证和授权,但由应用程序强制执行。

据我了解,KeyCloak 会将其提供的令牌中的详细信息传递给应用程序,由应用程序读取和解释这些细节。

本质上,如果您查看访问令牌,当用户没有分配任何授权策略等时......它们不存在于令牌中。这意味着应用程序应该读取该内容,并且仅提供对令牌中提供的相关授权的访问权限。但是 keycloak 不做的是阻止用户尝试访问应用程序,而且到目前为止我不认为这是其中的功能。

Keycloak 允许开发人员不必设计自己的专有身份验证和授权,而是可以利用 keycloak 的功能使用行业身份验证标准来开发应用程序。

© www.soinside.com 2019 - 2024. All rights reserved.