Oauth2-basic plugin y 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 Me gusta

Reabriendo esto ya que una comunidad a la que ayudo solicita soporte para PKCE.

Antes de que me preguntaran al respecto, aún no había visto nada sobre esto, pero al revisar la documentación al respecto, parece que el principal impulsor de esto son las aplicaciones nativas y las SPA:

Aplicaciones nativas

  • No pueden almacenar de forma segura un secreto de cliente. La descompilación de la aplicación revelará el secreto de cliente, que está vinculado a la aplicación y es el mismo para todos los usuarios y dispositivos.
  • Pueden utilizar un esquema de URL personalizado para capturar redirecciones (por ejemplo, MyApp://), lo que podría permitir que aplicaciones maliciosas reciban un código de autorización de su servidor de autorización.

Aplicaciones de una sola página

  • No pueden almacenar de forma segura un secreto de cliente porque todo su código fuente está disponible para el navegador.

Ninguna de las cuales es aplicable a esta situación; es el servidor de Discourse el que tiene el secreto.

Animated GIF