Hallo zusammen,
ich bin neu beim oauth2-basic-Plugin und habe nach dem Lesen der Dokumentation und des Quellcodes keine Antwort auf meine Frage gefunden.
- Unterstützt das oauth2-basic-Plugin PKCE?
- Wenn ja, wie kann ich das aktivieren?
- Wenn nein, wie könnte ich den Quellcode des oauth2-basic-Plugins so ändern, dass PKCE verwendet wird?
Auf der omniauth GitHub-README-Seite heißt es, dass ich die PKCE-Option in meiner Omniauth-Strategie auf true setzen sollte. Ich habe jedoch versucht, diese Änderung im Quellcode des oauth2-basic-Plugins vorzunehmen, und es wird kein Code-Challenge an meine authorize_url gesendet. Hat jemand einen Vorschlag?
Vielen Dank im Voraus
Dies wird hochgeschoben, da eine Community, der ich helfe, Unterstützung für PKCE anfordert.
Bevor ich danach gefragt wurde, hatte ich noch nichts davon gesehen, aber wenn ich mir die Dokumentation dazu ansehe, scheint der Hauptgrund dafür native Apps und SPAs zu sein:
Native Apps
- Können kein Client Secret sicher speichern. Das Dekompilieren der App legt das Client Secret offen, das an die App gebunden ist und für alle Benutzer und Geräte gleich ist.
- Können ein benutzerdefiniertes URL-Schema verwenden, um Weiterleitungen zu erfassen (z. B. MyApp://), was es bösartigen Anwendungen möglicherweise ermöglicht, einen Autorisierungscode von Ihrem Autorisierungsserver zu empfangen.
Single-Page-Apps
- Können kein Client Secret sicher speichern, da ihr gesamter Quellcode im Browser verfügbar ist.
Keines davon ist auf diese Situation zutreffend; es ist der Discourse-Server, der das Geheimnis speichert.
