Dieser Beitrag handelt von einer Funktion, die definitiv nicht existiert, die ich jedoch selbst implementieren möchte. Im Moment habe ich jedoch keine Ahnung, wie viel Aufwand dies bedeuten könnte, und das Ziel dieser Frage ist es, herauszufinden, was dafür erforderlich ist.
Einige Hintergrundinformationen: Wir arbeiten an einer passwortlosen Authentifizierungslösung. https://trykno.com/ Die Lösung funktioniert als Service, was bedeutet, dass die Website-Betreiber, die den Service nutzen, keine E-Mails sicher versenden oder Geheimnisse und personenbezogene Daten speichern müssen.
Es wäre großartig, wenn wir ein Forum für das Projekt hätten, und wir würden gerne Discourse verwenden.
Allerdings müssen wir die Authentifizierung so ändern, dass sie Kno verwendet.
Fragen?
Ist das Authentifizierungssystem in Discourse pluggable?
Gibt es irgendwelche hartkodierten Annahmen, dass der Benutzer eine E-Mail-Adresse hat?
Was ist das Frontend-Framework? (Ich sehe ember-rails in der Gemfile, aber keinen Verweis auf Ember in package.json)
Entschuldigung, wenn diese Fragen zu einfach sind; ich bin kein Ruby-Entwickler, und jeder Hinweis auf das Problem wäre wertvoll. Danke.
Derzeit ist es möglich, kein Passwort zu verwenden, sondern lediglich einen Link an Sie gesendet zu bekommen.
Wenn Ihr Ziel die Entwicklung von kno ist, möchten Sie es wahrscheinlich als OAuth-Server entwickeln. Dann könnten Nutzer es als eine von mehreren Authentifizierungsquellen verwenden, wobei SSO die einzige ist. Siehe Discourse OAuth2 Basic
Ich sehe die Möglichkeit, einen Link zu erhalten, aber kno bietet mehr, z. B. eine Geräteauthentifizierung über WebAuthn, sobald Sie Ihre E-Mail einmalig bestätigt haben.
Die Entwicklung als OAuth-Server erfüllt leider nicht die Anforderungen, die wir benötigen. (Ich sollte wahrscheinlich etwas in unserem FAQ dazu schreiben, warum das so ist, aber es liegt daran, dass Kno es Ihnen ermöglicht, sich auf einem Gerät mit einem anderen Gerät zu authentifizieren).
Bei genauerer Betrachtung scheint es, als könnte ich eine funktionierende erste Version erstellen, indem ich eine Discourse-spezifische SSO-Lösung implementiere.
[quote=“pebble, Beitrag:6, Thema:123821, vollständig:true”]
Ist es möglich, einen OAuth-Anbieter zu verwenden und alle anderen Authentifizierungsmethoden zu deaktivieren?
In einem solchen Fall wäre es auch gut, wenn ein Klick auf „Anmelden
Na, das ist ja hervorragend.
Nein, ich habe es noch nicht ausprobiert, weil ich den OAuth-Anbieter für meinen Dienst noch nicht implementiert habe. Ich vermute, danach muss ich ein Plugin schreiben, da es sich um einen neuen OAuth-Anbieter handelt.
Meine SSO-Integration ist fast abgeschlossen, also ist es wohl der perfekte Zeitpunkt, auf OAuth umzusteigen.