Difficulté à configurer la connexion sans mot de passe avec AWS Cognito

Continuant la discussion de Impossible de changer de thème dans Discourse — Rien ne fonctionne :

Salut Carlos ! Bienvenue dans notre communauté. :hugs:

Arf, c’est frustrant. Je crée un nouveau sujet ici si vous êtes prêt à réessayer avec nous. Je ne suis personnellement pas familier avec AWS Cognito. Pouvez-vous nous dire ce que vous avez essayé et où vous avez bloqué ? En tant que client hébergé, vous pouvez également contacter team@discourse.org pour obtenir une assistance personnalisée.

Selon notre bot IA, il devrait être possible de le configurer avec le plugin OpenID Connect.

Configuration d'AWS Cognito avec Discourse IA

tobiaseigen :

configurer aws cognito

ForumHelperBot :

Réflexion...L'utilisateur pose une question sur la configuration d'AWS Cognito. AWS Cognito est un service d'authentification fourni par Amazon Web Services qui vous aide à ajouter l'inscription, la connexion et le contrôle d'accès des utilisateurs à vos applications web et mobiles.

Laissez-moi rechercher toute discussion ou guide concernant l’intégration d’AWS Cognito avec Discourse afin de fournir les informations les plus pertinentes.

Recherche

Trouvé 54 résultats pour 'aws cognito integration discourse'

Réflexion...J'analyserai les résultats de la recherche pour fournir des informations sur la configuration de l'intégration d'AWS Cognito avec Discourse.

D’après les résultats de la recherche, plusieurs sujets discutent de l’intégration d’AWS Cognito avec Discourse. L’approche principale semble être l’utilisation du plugin d’authentification OpenID Connect pour Discourse. Résumons les informations clés :

  1. Plusieurs sujets indiquent que des utilisateurs ont réussi à intégrer AWS Cognito avec Discourse en utilisant le plugin OpenID Connect.

  2. Certains sujets pertinents incluent :

    • “Quelqu’un a-t-il une configuration AWS Cognito fonctionnelle avec ouath2, openid ou sso ?”
    • “Connexion automatique avec le plugin OpenId Connect et AWS Cognito”
    • “Flux de connexion personnalisé : SSO AWS Cognito (via connexion sans mot de passe) - Est-ce possible ?”
    • “Support OpenID Connect dans une instance Discourse auto-hébergée”
  3. Le plugin officiel OpenID Connect pour Discourse est mentionné dans ces discussions : GitHub - discourse/discourse-openid-connect: Allows an OpenID Connect provider to be used as an authentication provider for Discourse

  4. Un utilisateur a mentionné qu’il avait pu activer le SSO via AWS Cognito en suivant les étapes de ces sujets :

    • “Plugin d’authentification OpenID Connect”
    • “Quelqu’un a-t-il une configuration AWS Cognito fonctionnelle avec ouath2, openid ou sso ?”

Laissez-moi lire le sujet le plus pertinent pour recueillir des instructions plus spécifiques.

Configuration d’AWS Cognito avec Discourse

D’après les résultats de la recherche, plusieurs intégrations réussies d’AWS Cognito avec Discourse ont été réalisées en utilisant le plugin OpenID Connect. Voici comment vous pouvez le configurer :

Étape 1 : Installer le plugin OpenID Connect

Le plugin Discourse OpenID Connect (OIDC) vous permet d’utiliser AWS Cognito comme fournisseur d’authentification pour Discourse.

Pour installer le plugin, ajoutez-le à votre fichier app.yml :

- git clone https://github.com/discourse/discourse-openid-connect.git

Étape 2 : Configurer AWS Cognito

  1. Créez un pool d’utilisateurs dans AWS Cognito
  2. Configurez un client d’application dans votre pool d’utilisateurs
  3. Configurez l’URL de rappel sur https://votre-site-discourse.com/auth/oidc/callback
  4. Notez votre domaine Cognito, votre ID client et votre secret client

Étape 3 : Configurer le plugin OpenID Connect dans Discourse

Accédez à Admin > Paramètres > Plugins > openid connect et définissez les éléments suivants :

  • openid connect enabled : true
  • openid connect discovery document : https://{domaine-cognito}.auth.{région}.amazoncognito.com/{id-pool-utilisateurs}/.well-known/openid-configuration
  • openid connect client id : Votre ID client d’application Cognito
  • openid connect client secret : Votre secret client d’application Cognito
  • openid connect authorize scope : openid email profile
  • openid connect token url : https://{domaine-cognito}.auth.{région}.amazoncognito.com/oauth2/token
  • openid connect authorize url : https://{domaine-cognito}.auth.{région}.amazoncognito.com/oauth2/authorize
  • openid connect user json url : https://{domaine-cognito}.auth.{région}.amazoncognito.com/oauth2/userInfo

Options de configuration supplémentaires

  • Pour activer la connexion automatique, définissez openid connect authorize url pour inclure ?prompt=none
  • Vous pouvez personnaliser le texte du bouton de connexion avec openid connect button title

Dépannage

Si vous rencontrez des problèmes :

  • Assurez-vous que votre URL de rappel est correctement définie dans Cognito et Discourse
  • Vérifiez que votre ID client et votre secret sont corrects
  • Assurez-vous que votre pool d’utilisateurs Cognito est correctement configuré pour renvoyer les attributs utilisateur requis

Pour des exemples d’implémentation plus détaillés, consultez cette discussion où les utilisateurs ont partagé leurs configurations réussies.

Souhaitez-vous des informations plus spécifiques sur une partie de ce processus de configuration ?

2 « J'aime »

Merci beaucoup @tobiaseigen !

J’ai lancé la communauté sans AWS Cognito… mon système utilise le système d’authentification par défaut de Discourse… c’est un peu bancal car, chaque fois que mes utilisateurs deviennent clients payants, un webhook sur Stripe crée un nouvel utilisateur Discourse via l’API, génère un mot de passe temporaire et leur envoie les identifiants par e-mail.

Je voulais utiliser AWS Cognito car mon service payant principal est un cours hébergé sur Gitbook, protégé par un système d’authentification sans mot de passe AWS Cognito. Réutiliser le système serait idéal pour mes utilisateurs. Mais maintenant, il est trop tard :slight_smile:

Quoi qu’il en soit, je pense avoir suivi toutes les étapes que vous avez décrites… ou peut-être ai-je manqué quelque chose… tout a parfaitement fonctionné, à l’exception du fait qu’après avoir entré l’e-mail et le code d’authentification, Discourse redirigeait vers /login et non vers / (la page d’accueil). En inspectant les utilisateurs sur la page d’administration de Discourse, j’ai vu qu’AWS Cognito ne créait jamais d’utilisateurs Discourse.

Merci quand même !

1 « J'aime »