我有一个场景,其中服务彼此交互而不涉及任何(人类)用户。
我希望我的服务从keycloak获得反馈,无论是否授权另一个客户端访问我的资源。
为此,我有两个客户。我的客户定义了资源,范围,策略和权限。
当我在客户端的“角色”选项卡中定义角色并尝试使用它们时,我遇到无法评估权限的问题,因为设置用户角色或领域角色似乎是强制性的。
我还尝试通过令牌端点评估权限。这仅在涉及用户的情况下有效。当我传递令牌时,我通过客户端证书授予密钥库获得了“无效资源”的答案,并说该资源不存在。尽管它存在并且评估之前(与用户)进行过。我在其他客户端的“服务帐户角色”选项卡中设置了角色,并且该角色写在获得的令牌中。
因为这行不通,所以我定义了一个领域角色并将其分配给服务帐户。我遇到类似的问题,但是领域角色甚至不在客户端令牌中(我还添加了领域角色映射器)。
我在这里犯了什么错误?还是Keycloak不提供客户与客户之间的沟通?
谢谢您的时间。