Ma configuration OAuth de base se comporte de manière étrange. J’ai rencontré quelques erreurs lors de la configuration initiale, que j’ai résolues. Cependant, je constate maintenant que le flux suit le chemin suivant : Discourse → Point de terminaison d’autorisation Cognito → Callback Discourse → /login de Discourse. Il n’y a aucun avertissement ou erreur dans les journaux, et en examinant les logs, je vois qu’un appel JSON réussi permet de récupérer les données de l’utilisateur.
Étant donné qu’un jeton semble avoir été obtenu avec succès et que les données JSON ont été chargées, je m’attendrais à ce que le compte utilisateur soit enregistré avec succès. Or, l’utilisateur est redirigé vers la page de connexion.
Malheureusement, cette information ne renvoie aucun résultat permettant de confirmer l’identité sans saisir toutes leurs données.
Par ailleurs, est-il possible de confirmer automatiquement l’utilisateur ? Son adresse e-mail est déjà vérifiée de notre côté et je souhaite rendre cette expérience aussi fluide que possible pour nos utilisateurs.
Il n’est pas encore possible de sauter la fenêtre contextuelle, mais tout devrait être automatiquement prérempli avec les données de votre fournisseur d’identité.
Quelles sont les valeurs de vos paramètres oauth2 ? Prenons oauth2_json_email_path comme exemple.
De plus, pouvez-vous partager la ligne complète “user_json” du journal afin que nous puissions voir toutes les clés ? (N’hésitez pas à masquer les adresses e-mail).
et les valeurs des champs étaient « id » et « username » pour les champs concernés.
Je mets actuellement à jour le point de terminaison pour ajouter l’e-mail et le nom, mais j’avais cru comprendre qu’un id et un username étaient les seuls requis.
Les seules données minimales requises pour connecter le compte à un compte Discourse sont l’id. Cependant, Discourse a besoin d’un nom d’utilisateur et d’une adresse e-mail. C’est pourquoi nous affichons la fenêtre modale d’inscription.
Si vous pouvez ajouter ces informations à l’API OAuth, cela rendra le processus beaucoup plus fluide pour vos utilisateurs
Oui, je suis en train de traiter cela ! Je vais mettre à jour le point de terminaison pour inclure également l’adresse e-mail et voir si cela résout le problème.
Dans ce cas, le nom d’utilisateur devrait au moins apparaître sur la page d’inscription, non ?