playa-ru / keycloak-russian-providers

Popular russian mail (Yandex, Mail.ru) and social networks (VK, OK) identity providers for Keycloak Identity and Access Management server.
Apache License 2.0
142 stars 35 forks source link

Ошибки при установке провайдера #26

Closed brandshopru closed 1 year ago

brandshopru commented 1 year ago

При запуске bin/kc.sh build для keycloak 21.0.1 и версии jar 1.0.49 вылезают ошибки: Updating the configuration and installing your custom providers, if any. Please wait. 2023-03-29 16:25:34,942 WARN [org.keycloak.services] (build-94) KC-SERVICES0047: yandex-user-attribute-mapper (ru.playa.keycloak.modules.yandex.YandexUserAttributeMapper) is implementing the internal SPI identity-provider-mapper. This SPI is internal and may change without notice 2023-03-29 16:25:34,943 WARN [org.keycloak.services] (build-94) KC-SERVICES0047: vk-user-attribute-mapper (ru.playa.keycloak.modules.vk.VKUserAttributeMapper) is implementing the internal SPI identity-provider-mapper. This SPI is internal and may change without notice 2023-03-29 16:25:34,943 WARN [org.keycloak.services] (build-94) KC-SERVICES0047: ok-user-attribute-mapper (ru.playa.keycloak.modules.ok.OKUserAttributeMapper) is implementing the internal SPI identity-provider-mapper. This SPI is internal and may change without notice 2023-03-29 16:25:34,943 WARN [org.keycloak.services] (build-94) KC-SERVICES0047: mailru-user-attribute-mapper (ru.playa.keycloak.modules.mailru.MailRuUserAttributeMapper) is implementing the internal SPI identity-provider-mapper. This SPI is internal and may change without notice 2023-03-29 16:25:36,547 WARN [org.keycloak.services] (build-94) KC-SERVICES0047: yandex (ru.playa.keycloak.modules.yandex.YandexIdentityProviderFactory) is implementing the internal SPI social. This SPI is internal and may change without notice 2023-03-29 16:25:36,563 WARN [org.keycloak.services] (build-94) KC-SERVICES0047: vk (ru.playa.keycloak.modules.vk.VKIdentityProviderFactory) is implementing the internal SPI social. This SPI is internal and may change without notice 2023-03-29 16:25:36,563 WARN [org.keycloak.services] (build-94) KC-SERVICES0047: ok (ru.playa.keycloak.modules.ok.OKIdentityProviderFactory) is implementing the internal SPI social. This SPI is internal and may change without notice 2023-03-29 16:25:36,564 WARN [org.keycloak.services] (build-94) KC-SERVICES0047: mailru (ru.playa.keycloak.modules.mailru.MailRuIdentityProviderFactory) is implementing the internal SPI social. This SPI is internal and may change without notice 2023-03-29 16:25:45,635 INFO [io.quarkus.deployment.QuarkusAugmentor] (main) Quarkus augmentation completed in 14237ms Server configuration updated and persisted. Run the following command to review the configuration:

Соотвественно в списке провайдеров не отображаются тоже. jar брали из репозитория https://mvnrepository.com/artifact/ru.playa.keycloak/keycloak-russian-providers/1.0.49 и пробовали собирать самостоятельно из исходников. Результат один и тот же.

onotoliy commented 1 year ago

Добрый день. Скажите, пожалуйста, Keycloak в Docker запускаете или как сервис? Еще и по возможности представьте логи запуска Keycloak. Приведенные Вами логи - это не ошибка.

onotoliy commented 1 year ago

Не воспроизводится. Собрал Docker Image с помощью Dockerfile

FROM registry.access.redhat.com/ubi9 AS ubi-micro-build
RUN mkdir -p /mnt/rootfs
RUN dnf install --installroot /mnt/rootfs unzip --releasever 9 --setopt install_weak_deps=false --nodocs -y; dnf --installroot /mnt/rootfs clean all

FROM quay.io/keycloak/keycloak:21.0.1 as builder
COPY --from=ubi-micro-build /mnt/rootfs /

ARG JAR_FILE
ARG DB_PROVIDER

ENV KC_HEALTH_ENABLED=true
ENV KC_METRICS_ENABLED=true
ENV KC_FEATURES=token-exchange
ENV KC_DB=$DB_PROVIDER
ENV KC_HTTP_RELATIVE_PATH=/auth

ENV JBOSS_HOME /opt/keycloak
ENV THEMES_HOME $JBOSS_HOME/themes
ENV THEMES_BASE_TMP /tmp/keycloak-base-themes
ENV PROVIDERS_TMP /tmp/keycloak-providers
ENV LIBS_TMP /tmp/keycloak-libs

ENV KEYCLOAK_VERSION 21.0.1
ENV KEYCLOAK_ADMIN_THEME 1.0.7

RUN mkdir -p $PROVIDERS_TMP
RUN mkdir -p $THEMES_BASE_TMP

USER root

RUN echo "DataBase is $DB_PROVIDER"
RUN echo "JAR_FILE is $JAR_FILE"

RUN unzip /opt/keycloak/lib/lib/main/org.keycloak.keycloak-themes-$KEYCLOAK_VERSION.jar -d $THEMES_BASE_TMP
RUN mv $THEMES_BASE_TMP/theme/* $THEMES_HOME

ADD https://repo1.maven.org/maven2/ru/playa/keycloak/keycloak-russian-providers/1.0.49/keycloak-russian-providers-1.0.49.jar $PROVIDERS_TMP/keycloak-russian-providers.jar

ADD https://repo1.maven.org/maven2/com/jayway/jsonpath/json-path/2.7.0/json-path-2.7.0.jar $JBOSS_HOME/providers
ADD https://repo1.maven.org/maven2/net/minidev/json-smart/2.4.7/json-smart-2.4.7.jar $JBOSS_HOME/providers
ADD https://nexus.playa.ru/nexus/content/repositories/releases/org/keycloak/keycloak-admin-ui/$KEYCLOAK_ADMIN_THEME/keycloak-admin-ui-$KEYCLOAK_ADMIN_THEME.jar $PROVIDERS_TMP

RUN cp $PROVIDERS_TMP/keycloak-admin-ui-$KEYCLOAK_ADMIN_THEME.jar $JBOSS_HOME/lib/lib/main/org.keycloak.keycloak-admin-ui-$KEYCLOAK_VERSION.jar

RUN cp $PROVIDERS_TMP/keycloak-russian-providers.jar $JBOSS_HOME/providers
RUN unzip $PROVIDERS_TMP/keycloak-russian-providers.jar -d $PROVIDERS_TMP
RUN cat $PROVIDERS_TMP/theme/base/login/messages/messages_en.custom >> $THEMES_HOME/base/login/messages/messages_en.properties
RUN cat $PROVIDERS_TMP/theme/base/login/messages/messages_ru.custom >> $THEMES_HOME/base/login/messages/messages_ru.properties
RUN cat $PROVIDERS_TMP/theme/base/admin/messages/admin-messages_en.custom >> $THEMES_HOME/base/admin/messages/admin-messages_en.properties
RUN cat $PROVIDERS_TMP/theme/base/admin/messages/admin-messages_ru.custom >> $THEMES_HOME/base/admin/messages/admin-messages_ru.properties

RUN chmod -R a+r $JBOSS_HOME

RUN rm -rf $PROVIDERS_TMP
RUN rm -rf $THEMES_BASE_TMP

USER 1000

RUN /opt/keycloak/bin/kc.sh build

FROM quay.io/keycloak/keycloak:21.0.1
COPY --from=builder /opt/keycloak/ /opt/keycloak/
WORKDIR /opt/keycloak

# for demonstration purposes only, please make sure to use proper certificates in production instead
RUN keytool -genkeypair -storepass password -storetype PKCS12 -keyalg RSA -keysize 2048 -dname "CN=server" -alias server -ext "SAN:c=DNS:localhost,IP:127.0.0.1" -keystore conf/server.keystore
# change these values to point to a running postgres instance

ENV KC_DB_URL=<DBURL>
ENV KC_DB_USERNAME=<DBUSERNAME>
ENV KC_DB_PASSWORD=<DBPASSWORD>
ENV KC_HTTP_ENABLED=<HTTPENABLED>
ENV KC_HOSTNAME_STRICT=<HOSTNAMESTRICT>

ENTRYPOINT ["/opt/keycloak/bin/kc.sh", "start"]

В результате провайдеры отображаются Screenshot_1