Oauth2-basic plugin und pkce

Hello all,

I’m new to the oauth2-basic plugin and after reading the docs and source code, I cannot find an answer to my question.

  • Does the oauth2-basic plugin support pkce?
  • If so, how can I enable that?
  • If not, how might I modify the oauth2-basic plugin code to use pkce?

The omniauth github page README says that I should be able to set the pkce option to true in my omniauth strategy. However, I have attempted this change in the oauth2-basic plugin code and no code challenge is being sent to my authorize_url. Any suggestions?

Thanks in advance

3 „Gefällt mir“

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.

Animated GIF