Cependant, je cherche à mettre en place dans Discourse le même flux d’authentification que celui utilisé pour nos applications mobile et web, à savoir un flux d’authentification personnalisé sans mot de passe (les utilisateurs saisissent leur adresse e-mail et reçoivent un code de vérification).
L’objectif est que le SSO fonctionne via ce flux d’authentification sans mot de passe, plutôt que par e-mail/mot de passe, puisque les utilisateurs n’utilisent pas de mots de passe dans nos applications principales.
Auriez-vous des pistes pour activer cette fonctionnalité ? Ou bien savez-vous si cela est possible ?
À moins que je n’oublie quelque chose, cela devrait fonctionner. Demandez-leur simplement de se rendre à l’endroit où le lien est envoyé, et vous devriez être connecté à Discourse. Est-ce que cela ne fonctionne pas ? Ou souhaitez-vous que Discourse les redirige vers l’endroit où ils peuvent demander le lien ?
Le flux de notre application (et non de Discourse) est sans mot de passe : l’utilisateur saisit son adresse e-mail → reçoit un code à 6 chiffres par e-mail → saisit le code → se connecte.
Pour activer cela, nous utilisons des déclencheurs Lambda qui définissent/créent et vérifient les défis d’authentification. De plus, l’interface utilisateur est personnalisée (c’est-à-dire qu’elle n’est pas fournie par AWS Amplify).
Ce que nous souhaitons, c’est que le processus de connexion de Discourse soit identique. J’ai essayé d’utiliser la même configuration de client d’application Cognito pour Discourse, mais j’obtiens cette page d’erreur :
Notre backend étant basé sur Flask/Python, nous avons fini par utiliser : python-oauth2 · PyPI
TL;DR : il n’est pas possible de configurer une authentification sans mot de passe avec Cognito via les méthodes par défaut ; nous avons dû mettre en place notre propre OAuth léger.