fix(admin): supprimer @Provider de JwtPropagationFilter

@Provider enregistre le filtre GLOBALEMENT sur tous les REST clients.
JwtPropagationFilter s'exécutait après AdminServiceTokenHeadersFactory et
écrasait le token de service account avec le JWT utilisateur mobile
→ LUM recevait un token du realm unionflow (kid inconnu) → 401.

La propagation JWT est déjà gérée par OidcTokenPropagationHeadersFactory
sur UserServiceClient/RoleServiceClient via @RegisterClientHeaders.
JwtPropagationFilter est conservé sans @Provider pour référence future.
This commit is contained in:
dahoud
2026-04-12 15:27:38 +00:00
parent e107d2ecce
commit 6bd3f6bc18

View File

@@ -13,10 +13,16 @@ import org.jboss.logging.Logger;
import java.io.IOException; import java.io.IOException;
/** /**
* Filtre REST Client qui propage automatiquement le token JWT * Filtre REST Client qui propage le token JWT de la requête entrante.
* des requêtes entrantes vers les appels sortants (lions-user-manager). *
* <p>NE PAS annoter avec {@code @Provider} — cela l'enregistrerait GLOBALEMENT
* sur tous les REST clients, y compris AdminUserServiceClient/AdminRoleServiceClient
* qui utilisent AdminServiceTokenHeadersFactory (service account). Le filtre global
* écraserait le token de service account avec le JWT utilisateur → 401 sur LUM.
*
* <p>La propagation JWT est assurée par {@link OidcTokenPropagationHeadersFactory}
* sur les clients qui en ont besoin ({@code @RegisterClientHeaders}).
*/ */
@Provider
public class JwtPropagationFilter implements ClientRequestFilter { public class JwtPropagationFilter implements ClientRequestFilter {
private static final Logger LOG = Logger.getLogger(JwtPropagationFilter.class); private static final Logger LOG = Logger.getLogger(JwtPropagationFilter.class);