Résoudre l'erreur 403 avec Google OAuth2 sur Plesk

Hier, alors que je travaillais sur la mise en place du client Google OAuth 2.0 pour permettre aux utilisateurs de Tera Dev de s’inscrire et se connecter avec Google Auth, j'ai rencontré un problème intéressant qui peut arriver à chaque développeur sur son application web si elle est hébergée sur un serveur Plesk alors que tout fonctionnait correctement en local.
Après quelques recherches, j'ai trouvé ce problème intéressant qui affirmait, tout comme je le pensais, qu'il y avait un problème avec le serveur lorsque j'ai essayé de me connecter via OAuth2 avec mon compte Google dans une implémentation très simple du client Google, où tout ce que j'avais à faire était de me connecter à l'application, autoriser l'accès, puis Google devrait me rediriger vers l'URL pour traiter la réponse. Curieusement, tout ce que j'ai trouvé, c'était une page 403 qui ne devrait pas être là.
Au début, je pensais peut-être qu'il y avait un problème avec les autorisations du fichier, mais après avoir vérifié les journaux Apache j’ai rapidement compris que la source du problème venait du pare feu de mon serveur et plus précisément de ModSecurity.
Voici comment résoudre ce problème !
Rendez-vous sur votre interface Plesk
Ouvrez la page Tools & Settings depuis la Sidebar puis Web Application Firewall (ModSecurity).
Pour que votre page de rappel d'authentification fonctionne correctement, vous devrez ajouter une exception à ce pare-feu.
Désactivez la règle qui provoque l'exception
L'OWASP ModSecurity Core Rule Set (CRS) est un ensemble de règles génériques de détection d'attaques à utiliser avec ModSecurity ou des pare-feux d'application Web compatibles.
Le CRS vise à protéger les applications web contre une large gamme d'attaques, y compris le Top Ten de l'OWASP, avec un minimum de fausses alertes.
L'une de ces règles est un faux positif, et c'est essentiellement la raison pour laquelle votre page de callback OAuth ne fonctionne pas comme prévu.
Vous devez désactiver la règle de sécurité qui empêche la page de rappel OAuth2 de fonctionner correctement.
Dans mon cas, comme spécifié dans l'image de cet article, la règle déclenchée est identifiée par l'ID 210580.
Tout ce que vous avez à faire maintenant, c'est d'ajouter simplement l'ID dans la zone "Switch off security rules" et cliquer sur Apply.
Voila ! Vous ne devriez plus avoir de page 403 en revenant sur votre application web après vous être connecté à votre compte Google.
Notez que selon votre cas, l'ID de la règle ModSecurity peut être différent, donc si vous obtenez l'exception, assurez-vous de vérifier les journaux et de voir l'ID de la règle qui déclenche le problème.
Commentaires
Connectez-vous ou inscrivez-vous pour commenter cet article !