Suite à la discussion dans Mise à jour PostgreSQL 12 :
Après la mise à niveau, j’obtiens une erreur SAML sur le site, qui n’apparaissait pas auparavant :
Désolé, une erreur s'est produite lors de l'autorisation de votre compte. Veuillez réessayer.
Le journal des erreurs indique :
(saml) Échec de l'authentification ! invalid_ticket : OneLogin::RubySaml::ValidationError, http://www.example.com n'est pas un public valide pour cette réponse - Publics valides : https://love.public.cat
J’utilise un client SAML Keycloak pour le site. Y a-t-il eu un changement dans le plugin nécessitant des paramètres supplémentaires ? – Au fait, ce plugin utilise des variables d’environnement, ce qui le rend difficile à utiliser dans un environnement multi-sites.
J’ai essayé d’ajouter un champ audience dans Keycloak, mais cela n’a rien changé. Une idée ?
1 « J'aime »
Des idées ici @vinothkannans ?
1 « J'aime »
Avez-vous défini « saml_base_url » dans les paramètres globaux ou les variables d’environnement ? Elle contient la valeur incorrecte www.example.com au lieu de love.public.cat dans /auth/saml/metadata. Par défaut, vous n’avez pas besoin de spécifier de valeur pour ce paramètre.
2 « J'aime »
Non, je n’ai spécifié cela nulle part. J’ai testé la suppression du paramètre équivalent côté Keycloak et cela a fait échouer l’authentification. J’ai également essayé de supprimer le SSO et cela a également échoué. Je dois investiguer davantage car, sur différentes installations multisites, je n’observe pas le même comportement pour les mêmes paramètres SAML sur Discourse et Keycloak. Est-il possible qu’il y ait une mauvaise interaction avec le SSO ? Par exemple, qu’un mode d’authentification prenne le dessus sur l’autre à un moment donné ?
Nous n’avons jamais essayé le plugin “discourse-saml” dans un contexte multi-sites. Il est possible que le plugin ne soit pas compatible avec cette configuration. Je ne vous recommande pas d’activer le plugin SAML pour plusieurs sites simultanément. Définissez toutes les variables d’environnement dans le fichier app.yml.
1 « J'aime »