L’authentification OIDC AEM as a Cloud Service échoue en raison de la limite de taille définie par JWK
Cet article décrit comment résoudre les échecs d’authentification OIDC dans Adobe Experience Manager as a Cloud Service lorsque le jeu JWK distant dépasse la limite de taille d’entrée par défaut.
Description description
Environnement
- Adobe Experience Manager as a Cloud Service (toutes versions)
Problème/Symptômes
- Les demandes d’authentification OIDC échouent.
- L’erreur suivante s’affiche dans les journaux :
ERROR org.apache.sling.auth.oauth_client.impl.OidcAuthenticationHandler Échec de la validation du jeton : impossible de récupérer le jeu de JWK distant : la limite d’entrée configurée de 51200 octets a été dépassée
- L’erreur persiste même après la mise à jour des fichiers de configuration, sauf si la propriété système JVM appropriée est appliquée.
- La taille du jeu JWK du fournisseur d’identité est supérieure à 51 200 octets (par exemple, environ 58 Ko).
- Le problème est reproductible dans les environnements de développement, d’évaluation et de production.
Cause
La limite de taille d’entrée par défaut pour les jeux JWK distants dans la bibliothèque Nimbus DS est de 51 200 octets. Si le jeu JWK du fournisseur d’identité dépasse cette limite, la validation du jeton échoue sauf si la limite est augmentée via la propriété système et la configuration JVM.
Résolution resolution
Pour corriger l’échec de l’authentification OIDC, procédez comme suit :
- Vérifiez la taille de l’ensemble JWK distant fourni par le fournisseur d’identité. S’il dépasse 51 200 octets, passez aux étapes suivantes.
- Ajoutez ou mettez à jour la propriété système JVM suivante dans les environnements cloud ciblés :
-Dnimbusds.jose.jwkset.maxSize=102400(ajustez la valeur si votre ensemble JWK est plus grand, jusqu’à un maximum de 10 Mo). - Dans la configuration OidcAuthenticationHandler, définissez le paramètre
jwkSetHttpSizeLimitpour qu’il corresponde à la nouvelle limite de taille (par exemple,102400). - Déployez la configuration et la propriété JVM mises à jour dans les environnements appropriés à l’aide du pipeline de déploiement standard.
- Assurez-vous que le pipeline de déploiement est terminé avec succès et que la nouvelle version est active.
- Testez l’authentification OIDC pour confirmer que l’erreur ne se produit plus.
- Vérifiez les journaux pour vous assurer que l’ensemble JWK est récupéré et traité sans erreurs de limite de taille.