Problème SSO yeswiki/keycloak

Bonjour,
on a un problème un peu génant, on n’arrive plus à se connecter sur notre yeswiki. Pour ceux qui sont déjà connectés, pas de souci, mais une fois déconnecté, plus moyen de se reconnecter. Le SSO est entre yeswiki et nuage. On utilise l’extension loginsso en dernière version. Ca a eu marché, mais on ne sait pas quand ça a commencé à merdouiller. Peut-être suite à une mise à jour mais pas sur.

On avait ça comme erreur :
Aucune page Web trouvée à l’adresse :**https://[monserveur]/?api/auth_sso/callback=&state=etc…
J’ai vérifié les paramètres dans wakka.config.php et les valeurs semblent bonnes. Nuage me dit qu’il voit bien un aller retour pour l’api.
J’ai essayé d’enlever le « = » de la redirecturi dans OAuth2ProviderFactory.php et j’obtiens alors ça :
{« exceptionMessage »:« UnexpectedValueException: Invalid response received from Authorization Server. Expected JSON. in /home/metpjec/wiki/tools/loginsso/vendor/league/oauth2-client/src/Provider/AbstractProvider.php:637\nStack trace:\n#0 /home/metpjec/wiki/tools/loginsso/controllers/ApiController.php(59): League\OAuth2\Client\Provider\AbstractProvider-\u003EgetAccessToken(Object(League\OAuth2\Client\Grant\AuthorizationCode), Array)\n#1 [internal function]: YesWiki\LoginSso\Controller\ApiController-\u003EauthSsoCallback()\n#2 /home/metpjec/wiki/includes/YesWiki.php(1278): call_user_func_array(Array, Array)\n#3 /home/metpjec/wiki/includes/YesWiki.php(1198): YesWiki\Wiki-\u003ERunSpecialPages()\n#4 /home/metpjec/wiki/index.php(18): YesWiki\Wiki-\u003ERun(\u0027api\u0027, \u0027auth_sso\u0027)\n#5 {main} »}

Toute aide est la bienvenue, je suis un peu perdu! :slight_smile:

Merci d’avance

ping @oiseauroch et/ou @sylvain_l ca vous dit quelque chose?

Je ne pense que qu’il faille enlever le = de la redirecturi dans OAuth2ProviderFactory.php , faudrait peut etre nous montrer une version anonymisée de ta conf sso dans wakka.config.php pour voir.

@mrflos J’ai eu pas mal de soucis avec cette histoire de =. Dans le protocole, il faut faire un retour sur la page de callback et rajouter des informations en query params, mais comme il y en a déjà dans l’URL (pour l’adresse du endpoint justement) ca peut porter à confusion.

@Gnondpom74 Est-ce que tu pourrais m’indiquer la version de keycloak que tu utilises stp ?

@Gnondpom74 On vient de publier une nouvelle version de l’extension qui devrait aider à mieux gérer keycloak.
Il y a un nouveau paramètre addFinalEqual que tu peux mettre à true ou false en fonction de la comptatibilité du serveur que tu utilises.

Est-ce que tu pourrais me dire si ca aide ?

Par ailleurs est-ce que tu pourrais nous indiquer la config keacloak (anonymisée) que tu utilises stp ?

Bonjour et merci pour vos retours.

Noté, je vais remettre le « = ».

Voilà la partie « providers » du fichier wakka.
‹ providers › => [
0 => [
‹ auth_type › => ‹ oauth2 ›,
‹ auth_options › => [
‹ clientId › => ‹ monclientid ›,
‹ clientSecret › => ‹ monclientsecret ›,
‹ urlAuthorize › => ‹ https://#nomserveur/auth/realms/monrealm/protocol/openid-connect/auth ›,
‹ urlAccessToken › => ‹ https://#nomserveur/auth/realms/monrealm/protocol/openid-connect/token ›,
‹ urlResourceOwnerDetails › => ‹ https://#id.ametis.coop/auth/realms/monrealm/protocol/openid-connect/userinfo ›,
],
‹ id_sso_field › => ‹ sub ›,
‹ email_sso_field › => ‹ email ›,
‹ create_user_from › => ‹ #[given_name] #[family_name] ›,
‹ button_style › => [
‹ button_label › => ‹ Se connecter ›,
‹ button_class › => ‹ btn btn-default btn-myauth ›,
‹ button_icon › => ‹ glyphicon glyphicon-log-in ›,

Keycloak est en version 23.0.7

L’adresse de callback est bien enregistrée sur côté keycloak et ils me disent qu’ils ne voient pas d’erreur de ce côté là.

au top!
je n’avais pas vu le message, je teste cette après-midi avec un utilisateur admin encore connecté et je vous tiens au courant. :slight_smile:

Voilà, j’ai mis à jour le module loginsso en dernière version. J’ai aussi mis yeswiki en dernière version.
Avec le nouveau paramètre « addFinalEqual » à false :
un encart sur le site avec le message : « Erreur detecté dans le module de connexion SSO, vous n’êtes pas connecté. Détail : Invalid response received from Authorization Server. Expected JSON. »
et si je mets à true :

Cette page du site wiki.ametis.coop est introuvable

Aucune page Web trouvée à l’adresse :**https://[monserveur]/?api/auth_sso/callback=&state=… #

@Gnondpom74 merci de ton retour. Est-ce que tu pourrais faire un export de la config keycloak (anonymisée) stp ?