Ich verwende Spring Boot 3.2.1 mit eingebettetem Keycloak-Server
<dependency> <groupid>org.pac4j</groupid> <artifactid>jakartaee-pac4j</artifactid> <version>8.0.0</version> </dependency> <dependency> <groupid>org.pac4j</groupid> <artifactid>pac4j-oidc</artifactid> <version>6.0.1</version> </dependency>
Keine Verschlüsselung erforderlich, alles funktioniert einwandfrei, pac4j meistert alles einwandfrei. Wenn ich SSL über das SSL-Bundle einbinde, funktioniert die Webanwendung einwandfrei (https) und die Interaktion mit dem eingebetteten Keycloak-Server funktioniert einwandfrei, einschließlich der folgenden Aufrufe: https://localhost:8888/auth/realms/master/.well-known/openid-configuration Bei Erstellung über einen Webbrowser auf demselben Computer. Während des Authentifizierungsprozesses scheint pac4j jedoch den folgenden Fehler auszulösen:
org.pac4j.core.exception.TechnicalException: Error getting URL resource at org.pac4j.core.resource.SpringResourceHelper.getResourceInputStream(SpringResourceHelper.java:74) at org.pac4j.oidc.metadata.OidcOpMetadataResolver.retrieveMetadata(OidcOpMetadataResolver.java:89) at org.pac4j.oidc.metadata.OidcOpMetadataResolver.internalLoad(OidcOpMetadataResolver.java:76) at org.pac4j.core.resource.SpringResourceLoader.load(SpringResourceLoader.java:50) at org.pac4j.oidc.config.OidcConfiguration.findPkceMethod(OidcConfiguration.java:285) at org.pac4j.oidc.redirect.OidcRedirectionActionBuilder.addStateAndNonceParameters(OidcRedirectionActionBuilder.java:115) at org.pac4j.oidc.redirect.OidcRedirectionActionBuilder.getRedirectionAction(OidcRedirectionActionBuilder.java:58) at org.pac4j.core.client.IndirectClient.getRedirectionAction(IndirectClient.java:136) at org.pac4j.core.engine.DefaultSecurityLogic.redirectToIdentityProvider(DefaultSecurityLogic.java:240) at org.pac4j.core.engine.DefaultSecurityLogic.perform(DefaultSecurityLogic.java:160) at com.ebremer.server.MyCustomSecurityFilter.internalFilter(MyCustomSecurityFilter.java:79)
Ich habe beim Systemstart „trustallcertificates“ und „trustallhostnames“ hinzugefügt, aber immer noch keine Wirkung.
Sie müssen einen Truststore mit einem selbstsignierten Zertifikat erstellen und es der JVM zuweisen: https://docs.oracle.com/cd/E29585_01/PlatformServices.61x/security/src/ csec_ssl_jsp_start_server.html
Das obige ist der detaillierte Inhalt vonPac4J hat Probleme bei der Verschlüsselung mit selbstsigniertem Zertifikat. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!