Liens d'invitation (bouton Accepter l'invitation) avec SSO ne fonctionnant pas pour la version stable v2.8.10

Salut l’équipe Discourse,

Le bouton Accepter l'invitation ne fonctionne pas sur la version stable v.2.8.10. Lorsque vous essayez de vous connecter via SSO, vous êtes simplement redirigé vers la page d’invitation, et Accepter l'invitation ne fait rien. Aucune erreur de console n’est affichée non plus. Quelqu’un peut-il aider ?

Je pense que cela est lié à la dernière mise à jour : SECURITY: Fix invite link validation (stable) (#18818) · discourse/discourse@7e4e8c8 · GitHub

Cordialement

2 « J'aime »

Pouvez-vous confirmer la configuration de votre site ?

Les invitations ne fonctionnaient pas historiquement avec l’authentification unique (SSO) activée. Il pourrait s’agir d’une régression, mais nous aurons besoin d’en savoir plus.

1 « J'aime »

Salut @Stephen ,

Merci pour votre réponse ! De quelles informations avez-vous spécifiquement besoin ? Nous l’avons auto-hébergé sur la branche stable (v2.8.10) en utilisant le plugin discourse-saml avec Okta (SSO). Avant la mise à jour 2.8.10, nous pouvions créer des liens d’invitation vers des groupes et ils fonctionnaient, l’utilisateur se connectait via SSO puis était redirigé vers le sujet spécifié dans le paramètre d’invitation.

Informations supplémentaires :

Dans la version stable précédente v2.8.9, sur domain.com/invites/invitecode :

  • Un utilisateur non connecté se verrait présenter un écran lui demandant de se connecter via SSO (Okta, spécifié dans la configuration SAML de app.yml), ce qui le redirigerait vers le SSO pour se connecter/s’inscrire, après quoi les actions d’invitation seraient exécutées (redirection vers un sujet, ajout à un groupe, etc.).

  • Un utilisateur connecté contournerait automatiquement l’écran d’invitation et les actions d’invitation seraient exécutées.

Dans la version stable actuelle v2.8.10, sur domain.com/invites/invitecode :

  • Les utilisateurs non connectés et connectés se verraient présenter l’écran d’invitation avec 2 boutons :
    – Bouton Se connecter via SSO
    – Accepter l’invitation (ceci est nouveau)

Lorsque le bouton Se connecter via SSO est cliqué, l’utilisateur est invité à se connecter (s’il n’est pas connecté) et sera redirigé vers la page d’invitation à nouveau.
Lorsque le bouton Accepter l’invitation est cliqué, rien ne se passe.

Nous avons observé dans la console du navigateur réseau qu’il y a une requête PUT vers domain.com/invites/show/invitecode.json qui renvoie une erreur 504 (uniquement dans la version 2.8.10).

1 « J'aime »

Y a-t-il une catégorie spécifique vers laquelle je peux déplacer ceci afin de signaler ce bug ?

1 « J'aime »

Confirmez que nous avons une visibilité sur le problème, pouvez-vous confirmer qu’il ne s’agit pas d’un problème sur tests-passed et qu’il n’existe qu’en version stable pour le moment ?

2 « J'aime »

Bonjour @sam ,

Merci de votre réponse ! Je suis heureux d’apprendre que vous avez une visibilité sur le problème.

Malheureusement, nous n’avons pas d’instance testée et approuvée avec SSO, car nous sommes toujours restés sur la version stable. J’ai une branche testée et approuvée sans SSO et il n’y a aucun problème là-bas.

EDIT : Je vais essayer de voir si je peux faire fonctionner une instance testée et approuvée avec SSO.

Salut @sam,

J’ai pu lancer une instance tests-passed et je n’ai pas rencontré de problème de mon côté sur tests-passed.
J’ai pu accepter des invitations. J’espère que cela vous aidera !

1 « J'aime »

Salut @sam !

Y a-t-il une possibilité que la version stable puisse être rétroportée afin qu’elle puisse être corrigée sur la version stable ?

J’ai vu que Discourse a reçu une mise à jour : 2.8.11: Security Release

Y a-t-il une chance que cette mise à jour résolve ce problème ? :slight_smile:

1 « J'aime »

Oui, nous mettrons à jour, merci beaucoup de nous avoir signalé le problème, nous vous informerons une fois que ce sera fait. Donnez-nous une semaine ou deux.

2 « J'aime »

C’est génial ! Merci @sam ! :raised_hands:

EDIT :
Juste pour information pour les autres qui pourraient rencontrer ce problème :

La version 2.8.11 de stable ne résout pas le problème. Cliquer sur Accepter l’invitation génère maintenant une erreur dans le journal de la console :
PUT https://<DOMAIN>/invites/show/<INVITE_CODE>.json 404
L’URL .json mène à :

// https://<DOMAIN>/invites/show/<INVITE_CODE>.json

{
  "errors": [
    "L'URL ou la ressource demandée n'a pas pu être trouvée."
  ],
  "error_type": "not_found"
}

Salut @hyphalos J’ai commencé à examiner cela aujourd’hui. Je ne connais pas notre configuration SAML, alors soyez indulgent avec moi.

C’est un peu étrange, le bouton « Accepter l’invitation » ne devrait s’afficher que pour les utilisateurs connectés. Pouvez-vous s’il vous plaît poster une capture d’écran de ce que voient les utilisateurs connectés et déconnectés pour une invitation spécifique, et aussi quelles options choisissez-vous pour l’invitation ici :

3 « J'aime »

Bonjour @martin !

Merci de votre retour. Désolé pour ma réponse tardive, j’étais malade.

J’ai effectué d’autres tests et ce que j’ai observé, c’est qu’après la mise à jour vers la v2.8.11, les gens ne peuvent accepter une invitation qu’une seule fois, quels que soient les paramètres de création de l’invitation. Je l’ai testé avec “Arriver au sujet”, sans “Arriver au sujet”, “Ajouter au groupe”, sans “Ajouter au groupe”, etc., et les gens ne peuvent accepter les invitations qu’une seule fois. Est-ce le comportement attendu ?

Que se passe-t-il si un invité s’inscrit mais utilise à nouveau la même URL d’invitation ? Il restera bloqué sur la page d’invitation (pas de redirection avec “Arriver au sujet”). Lorsqu’il clique sur “Accepter l’invitation”, cette erreur apparaît :

EDIT : Je voulais juste ajouter que si c’est le comportement attendu, il n’y a pas d’erreur indiquant “Vous avez déjà accepté cette invitation” ou quelque chose de ce genre, ou simplement une redirection vers l’endroit où “Arriver au sujet” est défini dans l’invitation.

2 « J'aime »

Oui, c’est attendu. Pas l’erreur, mais le fait qu’ils ne puissent pas accepter l’invitation plusieurs fois. Nous en avons discuté ici New 'accept invitation' prompt feature causing issues with invitation links - #14 by martin où j’ai apporté une correction, mais je vois maintenant que je devrai rétroporter cette correction vers stable également, cc @sam

2 « J'aime »

Salut @martin , c’est super, merci d’avoir enquêté !

2 « J'aime »

Je viens de valider ce correctif dans stable ici :

2 « J'aime »

Salut @martin !

Merci encore pour la correction !

J’ai mis à jour vers la version 2.8.12 (qui, selon le tag de commit dans le panneau d’administration, inclut les corrections) et je vois maintenant un message d’erreur (sur un compte de test) pour avoir tenté d’accepter une invitation que j’avais déjà acceptée sur le compte de test :

Ce qui est génial !

Cependant, en tant qu’utilisateur déjà connecté, je ne m’attendais pas à voir le bouton « Okta SSO » s’afficher. Lorsque le bouton est cliqué, il boucle dans le SSO puis me ramène à la page d’invitation. L’utilisateur étant connecté, le bouton de connexion ne devrait-il pas être masqué pour éviter toute confusion ?

Ce sujet a été automatiquement fermé après 4 jours. Les nouvelles réponses ne sont plus autorisées.