gpt4 book ai didi

带有授权的 Keycloak 自定义 SPI REST 端点

转载 作者:行者123 更新时间:2023-12-03 14:38:55 25 4
gpt4 key购买 nike

我正在尝试使用自定义 REST 端点制作自定义 SPI,它应该通过评估对请求资源的权限来验证和授权传入的请求。
在调试器的帮助下,我发现我应该使用类 TokenEndpoint.java 并在我的 REST 处理程序方法中调用方法 permissionGrant(),但是当我尝试创建 TokenEndpoint 的实例时,我遇到了 REASTEASY 和 Keycloak 崩溃的错误。
你有任何例子,我该怎么做?

最佳答案

我建议看看以下项目:keycloak-avatar-minio-extension .

首先你必须实现一个 RealmResourceProdiverFactor 和一个 RealmResourceProdiver。

其次,您需要一个在 RealmResourceProvider 中的 getResource() 被触发时返回的资源。

您的资源是您在其中定义端点的类。
要检查授权,您可以创建这样的方法:

private AuthenticationManager.AuthResult resolveAuthentication(KeycloakSession session) {
AppAuthManager appAuthManager = new AppAuthManager();
RealmModel realm = session.getContext().getRealm();

AuthenticationManager.AuthResult authResult = appAuthManager.authenticateIdentityCookie(session, realm);
if (authResult != null) {
return authResult;
}

return null;
}

此方法在构造函数中调用并设置 private final AuthenticationManager.AuthResult auth;资源中的变量。

现在在您的端点实现中,您可以简单地检查是否 auth不为空,或者,如果需要,做更复杂的事情,比如检查用户或您的 auth 中可用的 token 。多变的。

关于带有授权的 Keycloak 自定义 SPI REST 端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54482881/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com