Die AEM as a Cloud Service-OIDC-Authentifizierung schlägt aufgrund der Größenbeschränkung des JWK-Satzes fehl

In diesem Artikel wird beschrieben, wie Sie OIDC-Authentifizierungsfehler in Adobe Experience Manager as a Cloud Service beheben können, wenn der Remote-JWK-Satz die standardmäßige Eingabegröße überschreitet.

Beschreibung description

Umgebung

  • Adobe Experience Manager as a Cloud Service (alle Versionen)

Problem/Symptome

  • OIDC-Authentifizierungsanforderungen schlagen fehl.
  • Der folgende Fehler wird in den Protokollen angezeigt:

ERROR org.apache.sling.auth.oauth_client.impl.OidcAuthenticationHandler Fehler beim Überprüfen des Tokens: Remote-JWK-Satz konnte nicht abgerufen werden: konfiguriertes Eingabelimit von 51200 Byte wurde überschritten

  • Der Fehler bleibt auch nach dem Aktualisieren der Konfigurationsdateien bestehen, es sei denn, die richtige JVM-Systemeigenschaft wird angewendet.
  • Die JWK-Set-Größe vom Identitätsanbieter ist größer als 51.200 Byte (z. B. ca. 58 KB).
  • Das Problem ist in Entwicklungs-, Staging- und Produktionsumgebungen reproduzierbar.

Ursache

Die standardmäßige Eingabegrößenbeschränkung für Remote-JWK-Sets in der Nimbus DS-Bibliothek beträgt 51.200 Byte. Wenn der JWK-Satz des Identitätsanbieters dieses Limit überschreitet, schlägt die Token-Validierung fehl, es sei denn, das Limit wird über die JVM-Systemeigenschaft und -Konfiguration erhöht.

Lösung resolution

Gehen Sie wie folgt vor, um den OIDC-Authentifizierungsfehler zu beheben:

  1. Überprüfen Sie die Größe des Remote-JWK-Satzes, der vom Identitätsanbieter bereitgestellt wird. Wenn er 51.200 Byte überschreitet, fahren Sie mit den nächsten Schritten fort.
  2. Fügen Sie die folgende JVM-Systemeigenschaft in den anvisierten Cloud-Umgebungen hinzu oder aktualisieren Sie sie: -Dnimbusds.jose.jwkset.maxSize=102400 (passen Sie den Wert an, wenn Ihr JWK-Satz größer ist, bis zu einem Maximum von 10 MB).
  3. Legen Sie in der OidcAuthenticationHandler-Konfiguration den Parameter jwkSetHttpSizeLimit so fest, dass er mit der neuen Größenbeschränkung übereinstimmt (z. B. 102400).
  4. Stellen Sie die aktualisierte Konfiguration und JVM-Eigenschaft mithilfe der Standard-Bereitstellungs-Pipeline in den relevanten Umgebungen bereit.
  5. Stellen Sie sicher, dass die Bereitstellungs-Pipeline erfolgreich abgeschlossen wird und die neue Version aktiv ist.
  6. Testen Sie die OIDC-Authentifizierung, um zu bestätigen, dass der Fehler nicht mehr auftritt.
  7. Überprüfen Sie die Protokolle, um sicherzustellen, dass der JWK-Satz ohne Größenbegrenzungsfehler abgerufen und verarbeitet wird.
recommendation-more-help
experience-cloud-kcs-help-kbarticles