Bonjour à tous,
Je découvre le plugin oauth2-basic et, après avoir lu la documentation et le code source, je ne trouve pas de réponse à ma question.
- Le plugin oauth2-basic prend-il en charge PKCE ?
- Si oui, comment l’activer ?
- Sinon, comment pourrais-je modifier le code du plugin oauth2-basic pour utiliser PKCE ?
La page README GitHub d’OmniAuth indique que je devrais pouvoir définir l’option pkce à true dans ma stratégie OmniAuth. Cependant, j’ai tenté d’apporter cette modification dans le code du plugin oauth2-basic, mais aucun challenge de code n’est envoyé à mon authorize_url. Des suggestions ?
Merci d’avance
Je remonte ce sujet car une communauté que j’assiste demande la prise en charge de PKCE.
Avant qu’on ne me le demande, je n’avais encore rien vu à ce sujet, mais en parcourant la documentation à ce sujet, il semble que le principal moteur de cela soit les applications natives et les SPA :
Applications natives
- Ne peuvent pas stocker en toute sécurité un secret client. La décompilation de l’application révélera le secret client, qui est lié à l’application et est le même pour tous les utilisateurs et appareils.
- Peuvent utiliser un schéma d’URL personnalisé pour capturer les redirections (par exemple, MyApp://) permettant potentiellement aux applications malveillantes de recevoir un code d’autorisation de votre serveur d’autorisation.
Applications monopages
- Ne peuvent pas stocker en toute sécurité un secret client car leur code source entier est disponible pour le navigateur.
Aucune de ces situations ne s’applique ici ; c’est le serveur Discourse qui détient le secret.
