Nous tentons de déployer des forums Discourse en mode production. Nous utilisons notre propre fournisseur OAuth et, par conséquent, nous employons le plugin discourse-oauth2-basic pour activer cette fonctionnalité.
Nous rencontrons l’erreur suivante lors de la connexion avec notre fournisseur OAuth personnalisé :
Après quelques débogages, il apparaît que “omniauth.state” est absent de la session après la redirection, ce qui empêche la validation du champ state dans /auth/oauth2_callback. Toute aide serait appréciée.
Note : L’ensemble de la configuration fonctionne parfaitement en mode développement.
L’authentification commence-t-elle et se termine-t-elle dans le même navigateur ? Avez-vous modifié la valeur par défaut du paramètre des cookies same site ?
Oui @david, l’authentification commence et se termine dans le même navigateur. La valeur de same_site_cookies n’a pas été modifiée. Elle est définie par défaut sur “Lax”.
Bonjour @david, nous déployons Discourse à l’aide de conteneurs Docker. Le fichier Docker que nous utilisons est discourse_docker/image/base at master · discourse/discourse_docker · GitHub. Comme il n’existe pas de script pour démarrer Discourse dans un conteneur Docker, nous avons ajouté un petit script de démarrage qui précompile et lance Discourse.
RAILS_ENV=production bundle exec rake db:migrate
RAILS_ENV=production bundle exec rake assets:precompile
RAILS_ENV=production bundle exec rails server --binding=0.0.0.0
Malheureusement, il est très difficile pour nous d’offrir un support communautaire ici pour les installations personnalisées. Veuillez essayer de configurer Discourse en utilisant le guide officiel. Si vous n’y arrivez pas, peut-être que quelqu’un dans le Marketplace pourra vous aider contre rémunération.