OK, on va faire des tests dans ces différentes configurations.
[EDIT] Peux tu juste préciser de quel “addon” on parle => l’addon de la page de choix du provider (LOGON_PROVIDERS_ADDON) ? ou celui du formulaire de logon (LOGON_ADDON) interne ? Sur la copie d’écran du post d’origine c’est le premier.
OK cela signifie que la page du choix du provider doit s’afficher (avec cet addon) même s’il n’y a qu’un seul provider visible.
Combien y-a-t-il de providers déclarés dans ton OAUTH2_PROVIDERS ? et y a-t-il le provider interne ?
En relisant le code je vois effectivement une différence anormale dans la gestion du (ou des) provider(s) indiqué(s) dans OAUTH2_PROVIDER vs ceux de AUTH_PROVIDERS. De toute façon OAUTH2_PROVIDER est deprecated donc la cible c’est de faire marcher les choses via AUTH_PROVIDERS.
NB: Pour mieux gérer le cas général je pense qu’il va falloir enrichir la syntaxe de AUTH_PROVIDERS pour pouvoir indiquer explicitement si tel ou tel provider externe peut être utilisé (aussi ou exclusivement) sur le endpoint API, genre "endpoints": [ "ui", "api" ] (valeur par défaut) ou "endpoints": [ "ui" ] pour UI only ou "endpoints": [ "api" ] pour API only
simplicite pour les accès en mode dégradé si notre IDP ne répond pas
renault pour les accès en mode nominal via notre IDP
L’IDP renault doit être utilisé aussi bien pour les connexions UI (fourniture du token via le flow OIDC) ou API (revalidation du token utilisateur fourni lors des appels API).
La correction sur le fallback (= parsing des OAUTH2_*) a été poussé en 5.1.13. Peux tu vérifier ce que ça donne dans ton cas ?
On a aussi poussé une évolution qui fait que si le addon de la page de choix du provider (LOGON_PROVIDERS_ADDON) est non vide on affiche la page, même s’il n’y a qu’un seul provider visible (avant ça faisait le redirect ad hoc dans ce cas).
PS : On doit encore creuser le cas des tokens externes sur le endpoint API
A priori ça ne fonctionne pas…
Voici les éléments de configuration mis en place: OAUTH2_PROVIDER = simplicite,renault Ressource : Disposition/default * LOGON_PROVIDERS_ADDON = (ma mention juridique en HTML)
Tant que j’utilise l’ancien système de paramétrage OAUTH2_*, ça fonctionne comme attendu. C’est a priori le dernier point qui m’empêche de migrer la configuration sur le nouveau système de paramétrage AUTH_PROVIDERS.
OK, si tu peux quand même essayer ce que ça donne avec UTH_PROVIDERS ça m’intéresse
PI en 5.3 on est en train de refactorer des choses à ce niveau pour pousser la logique de AUTH_PROVIDERS un peu plus loin (ex: pour pouvoir spécifier si un provider peut être utilisé sur le endpoint UI, ou API ou les deux). On a backporté quelques trucs sur le 5.1.13 mais pas tout
L’objet concerné récupère un token et requête une API mappée sur la même instance (auto-consommation).
Le user designer (mdp par défaut) est habilité.
Le résultat attendu est {"semanticDomains":"","semanticDomainName":"","abbreviationDefinitionEN":"test2","abbreviationName":"TEST","abbreviationDefinitionFR":"test2","rowId":"1"}
Pour basculer d’une conf à l’autre, je préfixe l’un ou l’autre des paramètres OAUTH2_PROVIDER / AUTH_PROVIDERS.
Actuellement, j’ai laissé la conf qui marche (OAUTH2_PROVIDER / xxxAUTH_PROVIDERS).
Si tu bascules dans l’autre configuration (xxxAUTH2_PROVIDER / AUTH_PROVIDERS), tu obtiens “Invalid token”…
Si tu actives des traces ou que tu redéploies une image modifiée pour l’analyse, tu pourras reproduire le scénario de test d’appel.