playa-ru/keycloak-russian-providers

Ошибка при попытке логина через VK

Closed this issue · 7 comments

Версия Keycloak: 24.0.1
keycloak-russian-providers устанавливал путем копирования готового jar файла в /providers
После того, как VK редиректит обратно в Keycloak в браузере отображается ошибка, см. скриншот.
В логах контейнера появляется такая ошибка:

2024-03-22 18:33:25 2024-03-22 15:33:25,650 ERROR [org.keycloak.services.error.KeycloakErrorHandler] (executor-thread-31) Uncaught server error: java.lang.NoClassDefFoundError: javax/ws/rs/WebApplicationException
2024-03-22 18:33:25     at ru.playa.keycloak.modules.AbstractRussianOAuth2IdentityProvider.callback(AbstractRussianOAuth2IdentityProvider.java:44)
2024-03-22 18:33:25     at org.keycloak.services.resources.IdentityBrokerService.getEndpoint(IdentityBrokerService.java:422)
2024-03-22 18:33:25     at org.keycloak.services.resources.IdentityBrokerService$quarkusrestinvoker$getEndpoint_106b3afe16881212afc5cdb68385f5f8615e233e.invoke(Unknown Source)
2024-03-22 18:33:25     at org.jboss.resteasy.reactive.server.handlers.InvocationHandler.handle(InvocationHandler.java:29)
2024-03-22 18:33:25     at io.quarkus.resteasy.reactive.server.runtime.QuarkusResteasyReactiveRequestContext.invokeHandler(QuarkusResteasyReactiveRequestContext.java:141)
2024-03-22 18:33:25     at org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:147)
2024-03-22 18:33:25     at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:582)
2024-03-22 18:33:25     at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
2024-03-22 18:33:25     at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
2024-03-22 18:33:25     at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
2024-03-22 18:33:25     at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
2024-03-22 18:33:25     at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
2024-03-22 18:33:25     at java.base/java.lang.Thread.run(Thread.java:840)
2024-03-22 18:33:25 Caused by: java.lang.ClassNotFoundException: javax.ws.rs.WebApplicationException
2024-03-22 18:33:25     at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
2024-03-22 18:33:25     at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
2024-03-22 18:33:25     at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
2024-03-22 18:33:25     at io.quarkus.bootstrap.runner.RunnerClassLoader.loadClass(RunnerClassLoader.java:115)
2024-03-22 18:33:25     at io.quarkus.bootstrap.runner.RunnerClassLoader.loadClass(RunnerClassLoader.java:65)
2024-03-22 18:33:25     ... 13 more

Screenshot from 2024-03-22 18-48-37

Добрый день. Какую версию провайдера используете?

Добрый день! Я брал последнюю доступную тут nexus.playa.ru, это версия 1.0.28. Кажется, я понимаю в чем дело, я взял старую версию. А где можно взять свежий jar файл?

Добрый день! Я брал последнюю доступную тут nexus.playa.ru, это версия 1.0.28. Кажется, я понимаю в чем дело, я взял старую версию. А где можно взять свежий jar файл?

Добрый день. В Maven Central
https://repo1.maven.org/maven2/ru/playa/keycloak/keycloak-russian-providers/24.0.1.rsp/

Спасибо!

Установил свежую версию провайдера, настроил все, как рекомендуется в инструкции, теперь возникает такая ошибка после редиректа из VK обратно в keycloak:

2024-03-25 13:34:50 2024-03-25 10:34:50,277 ERROR [org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider] (executor-thread-13) Failed to make identity provider oauth callback: java.lang.NullPointerException: Cannot invoke "com.fasterxml.jackson.databind.JsonNode.asText()" because the return value of "com.fasterxml.jackson.databind.JsonNode.get(String)" is null
2024-03-25 13:34:50     at ru.playa.keycloak.modules.JsonUtils.asText(JsonUtils.java:36)
2024-03-25 13:34:50     at ru.playa.keycloak.modules.AbstractVKOAuth2IdentityProvider.getFederatedIdentity(AbstractVKOAuth2IdentityProvider.java:139)
2024-03-25 13:34:50     at ru.playa.keycloak.modules.AbstractRussianOAuth2IdentityProvider$AbstractRussianEndpoint.authResponse(AbstractRussianOAuth2IdentityProvider.java:139)
2024-03-25 13:34:50     at org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider$Endpoint$quarkusrestinvoker$authResponse_fef2d69ce31937f365a37fb3083f9247bc4c56d2.invoke(Unknown Source)
2024-03-25 13:34:50     at org.jboss.resteasy.reactive.server.handlers.InvocationHandler.handle(InvocationHandler.java:29)
2024-03-25 13:34:50     at io.quarkus.resteasy.reactive.server.runtime.QuarkusResteasyReactiveRequestContext.invokeHandler(QuarkusResteasyReactiveRequestContext.java:141)
2024-03-25 13:34:50     at org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:147)
2024-03-25 13:34:50     at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:582)
2024-03-25 13:34:50     at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
2024-03-25 13:34:50     at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
2024-03-25 13:34:50     at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
2024-03-25 13:34:50     at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
2024-03-25 13:34:50     at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
2024-03-25 13:34:50     at java.base/java.lang.Thread.run(Thread.java:840)

Screenshot from 2024-03-25 13-44-03

Заработало, спасибо!