Impossible de tester Discourse Connect sur localhost

Bonjour à tous,

Nous souhaitons intégrer les badges Discourse à notre plateforme. Autrement dit, permettre à un utilisateur de connecter son compte Discourse à son compte sur notre plateforme.

Pour lier les comptes, nous pensions que Discourse Connect serait la solution idéale. Cependant, nous rencontrons des erreurs CORS lors de la redirection :

Accès à fetch sur 'https://forum.freecodecamp.org/session/sso_provider?sso=<hash>'
(redirigé depuis 'http://localhost:3000/discourse/connect') depuis l'origine
'http://localhost:8000' a été bloqué par la politique CORS :
La réponse à la requête préflight ne passe pas la vérification de contrôle d'accès :
L'en-tête 'Access-Control-Allow-Origin' est absent de la ressource demandée.
Si une réponse opaque répond à vos besoins, définissez le mode de la requête sur 'no-cors'
pour récupérer la ressource avec CORS désactivé.

J’ai essayé un grand nombre de paramètres pour Discourse Connect, y compris l’ajout des adresses serveur, client et Discourse à discourse connect provider secrets, mais sans succès.

Pour clarifier : Nous ne souhaitons pas utiliser Discourse Connect pour nous connecter à quoi que ce soit.

Emplacements

  • freecodecamp.org - domaine de la plateforme
  • forum.freecodecamp.org - sous-domaine de l’instance Discourse
  • localhost:3000 et localhost:8000 - serveur et client de l’environnement de développement de freecodecamp.org

Code pertinent :

return res.redirect(
    `${FORUM_LOCATION}/session/sso_provider?sso=${URL_ENCODED_PAYLOAD}&sig=${HEX_SIGNATURE}`
  );

Toute aide serait grandement appréciée.

Je pense que ce flux de redirection est destiné à une frame de contenu, et non à un appel fetch. Par exemple, tout cas où vous devriez rediriger vers la page de connexion sans être redirigé en arrière ne fonctionnerait pas, et les cookies inter-origines poseraient également problème dans ce contexte.

Essayez une fenêtre contextuelle à l’ancienne ? :stuck_out_tongue: