如何从 RealmResourceProvider 中的 KeycloakSession 获取经过身份验证的用户
How to get authenticated user from KeycloakSession inside RealmResourceProvider
我正在编写一个 Keycloak RealmResourceProvider,我需要访问当前经过身份验证的用户,我使用 keycloak 15.1.1 和 java 代码提供程序。我正在尝试使用 RealmResourceProvider
实现自定义 API
我试过:
private final AuthenticationManager.AuthResult auth;
public ExampleRestResource(KeycloakSession session) {
this.session = session;
this.auth = new AppAuthManager.BearerTokenAuthenticator(session).authenticate();
}
但我收到 class 未找到错误
17:58:53,848 ERROR [org.keycloak.services.error.KeycloakErrorHandler] (default task-1) Uncaught server error: java.lang.NoClassDefFoundError: org/keycloak/services/managers/AppAuthManager$BearerTokenAuthenticator
有没有其他方法可以从barrer token访问当前用户?
您的类路径似乎缺少以下依赖项:
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-services</artifactId>
<version>15.1.1</version>
<scope>provided</scope>
</dependency>
您可能还需要像这样将其添加到您的 MANIFEST.MF
文件中
Manifest-Version: 1.0
Dependencies: org.keycloak.keycloak-services
或通过您的 jboss-deployment-structure.xml
文件管理依赖项,如下所示
<jboss-deployment-structure>
<deployment>
<dependencies>
<module name="org.keycloak.keycloak-services"/>
<!-- … -->
</dependencies>
</deployment>
</jboss-deployment-structure>
我正在编写一个 Keycloak RealmResourceProvider,我需要访问当前经过身份验证的用户,我使用 keycloak 15.1.1 和 java 代码提供程序。我正在尝试使用 RealmResourceProvider
实现自定义 API我试过:
private final AuthenticationManager.AuthResult auth;
public ExampleRestResource(KeycloakSession session) {
this.session = session;
this.auth = new AppAuthManager.BearerTokenAuthenticator(session).authenticate();
}
但我收到 class 未找到错误
17:58:53,848 ERROR [org.keycloak.services.error.KeycloakErrorHandler] (default task-1) Uncaught server error: java.lang.NoClassDefFoundError: org/keycloak/services/managers/AppAuthManager$BearerTokenAuthenticator
有没有其他方法可以从barrer token访问当前用户?
您的类路径似乎缺少以下依赖项:
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-services</artifactId>
<version>15.1.1</version>
<scope>provided</scope>
</dependency>
您可能还需要像这样将其添加到您的 MANIFEST.MF
文件中
Manifest-Version: 1.0
Dependencies: org.keycloak.keycloak-services
或通过您的 jboss-deployment-structure.xml
文件管理依赖项,如下所示
<jboss-deployment-structure>
<deployment>
<dependencies>
<module name="org.keycloak.keycloak-services"/>
<!-- … -->
</dependencies>
</deployment>
</jboss-deployment-structure>