Allerdings versuche ich nun herauszufinden, wie ich denselben Authentifizierungsablauf in Discourse aktivieren kann, den wir für unsere mobile und Web-App nutzen. Dabei handelt es sich um einen benutzerdefinierten Authentifizierungsablauf über eine passwortlose Anmeldung (Nutzer geben ihre E-Mail-Adresse ein und erhalten einen Bestätigungscode).
Die Erwartung ist, dass das SSO über diesen passwortlosen Authentifizierungsablauf funktioniert, anstelle von E-Mail/Passwort, da Nutzer in den Haupt-Apps keine Passwörter verwenden.
Gibt es Hinweise dazu, wie man diese Funktionalität aktivieren kann? Oder ist dies überhaupt möglich?
Sofern ich nichts übersehe, sollte das funktionieren. Lass sie einfach dorthin gehen, wo der Link angefordert wird, und du solltest in Discourse eingeloggt sein. Funktioniert das nicht? Oder möchtest du, dass Discourse sie dorthin leitet, wo sie den Link anfordern können?
Der Ablauf in unserer App (nicht Discourse) ist passwortlos – der Benutzer gibt seine E-Mail-Adresse ein → erhält einen 6-stelligen Code per E-Mail → gibt den Code ein → meldet sich an.
Um dies zu ermöglichen, nutzen wir Lambda-Trigger, die die Auth-Herausforderungen definieren, erstellen und verifizieren. Zudem ist die Benutzeroberfläche individuell gestaltet (d. h. sie wird nicht von AWS Amplify bereitgestellt).
Unser Ziel ist es, dass der Discourse-Anmeldeprozess genau so abläuft. Ich habe versucht, dieselbe Cognito-App-Client-Konfiguration für Discourse zu verwenden, erhalte jedoch diese Fehlerseite:
Da wir ein Flask/Python-Backend haben, haben wir schließlich folgendes verwendet: python-oauth2 · PyPI
TL;DR: Eine passwortlose Einrichtung mit Cognito ist mit den Standardmethoden nicht möglich; wir mussten ein leichtgewichtiges OAuth selbst einrichten.