Ich habe kürzlich SSO eingerichtet, damit sich Benutzer mit ihren Discourse-Logins auf einer Subdomain (forum.mysite.com) bei meiner Hauptdomain-Seite (mysite.com) anmelden können. Jetzt habe ich ein Problem, weil ich mich auch von einer Desktop-Anwendung aus bei Discourse anmelden möchte.
Ein wenig Hintergrund: Ich betreibe eine Beta-Version der Software nur auf Einladung für diese Desktop-App und möchte sicherstellen, dass der Benutzer Zugriff auf das Forum hat, bevor die Desktop-App gestartet wird.
Im Idealfall würde ich ein einfaches Formular in meiner Desktop-App einrichten und eine POST-Anfrage an das Forum senden, um den Benutzer zu verifizieren. Ich dachte, wenn Discourse ein OAuth2-Anbieter wäre, würde das funktionieren? Ich glaube nicht, dass das der Fall ist, und ich kann keinen Weg finden, das zu tun, was ich möchte, aber vielleicht übersehe ich etwas.
Mir ist bewusst, dass dies ein ungewöhnlicher Anwendungsfall ist, und ich bin neu in der ganzen Welt der Benutzer/SSO/OAuth usw. Wenn ich also in das falsche Kaninchenloch falle, wäre ich dankbar, wenn mir jemand ein Seil zuwerfen würde
Discourse kann kein OAuth2-Anbieter sein, nein (obwohl ich mir gerne einen Plugin sehen würde, das das eines Tages umsetzt – es ist definitiv machbar).
Derzeit können Sie das eigene SSO-Protokoll von Discourse verwenden, um dies zu implementieren. Tatsächlich tun wir dies regelmäßig für unsere internen Tools bei discourse.org:
Die andere Option, die möglicherweise besser für das Szenario „Desktop-Anwendung“ geeignet ist, besteht darin, den „User API Key“-Ablauf zu verwenden. So authentifizieren wir Benutzer in unseren Android/iOS-Apps: