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:
- Ü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.
- 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). - Legen Sie in der OidcAuthenticationHandler-Konfiguration den Parameter
jwkSetHttpSizeLimitso fest, dass er mit der neuen Größenbeschränkung übereinstimmt (z. B.102400). - Stellen Sie die aktualisierte Konfiguration und JVM-Eigenschaft mithilfe der Standard-Bereitstellungs-Pipeline in den relevanten Umgebungen bereit.
- Stellen Sie sicher, dass die Bereitstellungs-Pipeline erfolgreich abgeschlossen wird und die neue Version aktiv ist.
- Testen Sie die OIDC-Authentifizierung, um zu bestätigen, dass der Fehler nicht mehr auftritt.
- Überprüfen Sie die Protokolle, um sicherzustellen, dass der JWK-Satz ohne Größenbegrenzungsfehler abgerufen und verarbeitet wird.