мы установили keycloak как автономный сервер на сервере и зарегистрировали его как адаптер на том же сервере с помощью wildfly. Итак, после регистрации Identity Broker с помощью OpenId (самописный и развернутый в другом домене) мы не будем перенаправлены обратно в наше приложение, но получим следующую ошибку: «Не удалось выполнить обратный вызов клятвы поставщика удостоверений:» Токен отсутствует дольше действителен ». Он работает дальше: DNS: 8080 (8443) /app.war (server wildfly) -> (выполняет перенаправление на keycloak) DNS: 8180 (8543) / auth -> (после выбора провайдера open-id мы будет успешно перенаправлен на него, и мы войдем в систему после ввода имени и пароля) -> (Ошибка) Вместо того, чтобы перенаправляться обратно в наше приложение, мы получаем исключение.
Мы также попробовали Google Auth, чтобы проверить, правильно ли работает сервер, и да, это так. Но также наш Identity Broker правильно работает с localhost. Что это могло быть?
Я ценю любую помощь и предоставлю вам любой фрагмент кода, который вам нужен.
Keycloak 1.9.4.Финал, Wildfly 8.2.1.Финал
Код:
wildfly, standalone-full.xml:
<subsystem xmlns="urn:jboss:domain:keycloak:1.1">
<secure-deployment name="jbpm-console.war">
<realm>nameOfRealm</realm>
<resource>nameOfClient</resource>
<enable-basic-auth>true</enable-basic-auth>
<realm-public-key>myPublicKey</realm-public-key>
<auth-server-url>myUrl</auth-server-url>
<ssl-required>none</ssl-required>
<principal-attribute>preferred_username</principal-attribute>
<credential name="secret">mysecret</credential>
</secure-deployment>
</subsystem>
<interfaces>
<interface name="management">
<inet-address value="${jboss.bind.address.management:0.0.0.0}"/>
</interface>
<interface name="public">
<inet-address value="${jboss.bind.address:0.0.0.0}"/>
</interface>
<interface name="unsecure">
<inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/>
</interface>
</interfaces>
<subsystem xmlns="urn:jboss:domain:undertow:1.2">
<buffer-cache name="default"/>
<server name="default-server">
<http-listener name="default" socket-binding="http"/>
<host name="default-host" alias="localhost">
<location name="/" handler="welcome-content"/>
<filter-ref name="server-header"/>
<filter-ref name="x-powered-by-header"/>
<single-sign-on path="/"/>
</host>
</server>
23:33:18,529 ERROR [org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider] (default task-5) Failed to make identity provider oauth callback: org.keycloak.broker.provider.IdentityBrokerException: Token is no longer valid
at org.keycloak.broker.oidc.OIDCIdentityProvider.validateToken(OIDCIdentityProvider.java:346)
at org.keycloak.broker.oidc.OIDCIdentityProvider.getFederatedIdentity(OIDCIdentityProvider.java:254)
at org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider$Endpoint.authResponse(AbstractOAuth2IdentityProvider.java:230)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)