Vya*_*nov 6 keycloak keycloak-services
我正在尝试使用自定义 REST 端点制作自定义 SPI,该端点应该通过评估对请求资源的权限来验证和授权传入请求。在调试器的帮助下,我发现我应该使用类 TokenEndpoint.java 并在我的 REST 处理程序方法中调用方法 permissionGrant(),但是当我尝试创建 TokenEndpoint 的实例时,我遇到了 REASTEASY 和 Keycloak 崩溃的错误。你有任何例子,我该怎么做?
小智 5
我建议看看以下项目: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;
}
Run Code Online (Sandbox Code Playgroud)
该方法在构造函数中调用,并private final AuthenticationManager.AuthResult auth;在资源中设置变量。
现在,在端点实现中,您可以简单地检查是否auth不为空,或者,如果需要,可以执行更复杂的操作,例如检查变量中可用的用户或令牌auth。
尝试从文档中查看这些 java 示例。 https://www.keycloak.org/docs/latest/authorization_services/index.html#_authorization_quickstarts
| 归档时间: |
|
| 查看次数: |
3232 次 |
| 最近记录: |