Résultats de recherche :

×

S'inscrire Contactez-Nous

Lorsqu'un utilisateur se connecte à un site Joomla via l'authentification unique OAuth, le fournisseur d'identité renvoie un code d'autorisation par le biais du navigateur. L'application échange ensuite ce code contre un jeton d'accès. Ce système fonctionne correctement dans la plupart des cas, mais un problème subsiste : si une personne parvient à intercepter ce code d'autorisation avant qu'il n'atteigne l'application, elle peut l'utiliser pour obtenir un jeton d'accès à son compte.

PKCE (Proof Key for Code Exchange) empêche cela. Avant la connexion, l'application génère un secret aléatoire, en envoie une version hachée au fournisseur d'identité, puis prouve qu'elle détient l'original lors de l'échange du code contre un jeton. Un code d'autorisation intercepté est inutilisable sans cette preuve, car seule l'application d'origine le possède.

L'extension miniOrange Joomla OAuth Client prend en charge PKCE nativement. Son activation ajoute cette couche de sécurité à votre configuration SSO existante sans modifier la façon dont les utilisateurs se connectent.

Pour activer l'authentification unique OAuth protégée par PKCE sur un site web Joomla, vous aurez besoin des éléments suivants :

logo de la carte de cas d'utilisation

Extension client OAuth miniOrange pour Joomla

Télécharger l'extension

La plupart des sites Joomla utilisant l'authentification unique OAuth fonctionnent avec le flux d'autorisation par code par défaut, sans PKCE. Si cela convient à de nombreux cas, cela engendre néanmoins des risques qu'il est important de comprendre.

Les codes d'autorisation transitent par le navigateur en tant que paramètres d'URL, ce qui signifie qu'ils peuvent se retrouver dans l'historique de navigation, les journaux du serveur et les en-têtes Referer. Il existe donc une fenêtre d'exposition, même brève. Pour les applications qui ne peuvent pas stocker une clé secrète client en toute sécurité, comme les applications monopages ou les flux d'authentification unique (SSO) basés sur le navigateur, le code d'autorisation devient le seul rempart entre le compte d'un utilisateur et un attaquant qui s'en serait emparé.

OAuth 2.1, conforme aux meilleures pratiques de sécurité actuelles, rend obligatoire l'utilisation de PKCE pour tous les flux de code d'autorisation. Les organisations qui s'efforcent de se conformer à des normes telles que SOC 2 ou ISO 27001 sont de plus en plus tenues de mettre en place ce protocole.

Sans PKCE, il n'existe aucune preuve cryptographique que le client effectuant l'échange de jetons est bien celui qui a initié la connexion. Cette lacune complique la réalisation d'audits de sécurité concluants.

Configurer PKCE via l'extension client OAuth miniOrange est simple. Voici comment procéder.


1. Activation de PKCE dans l'extension : Dans les paramètres du fournisseur OAuth de l'extension miniOrange, une option dédiée permet d'activer PKCE. Une fois activé, l'extension gère tout automatiquement : elle génère un code de vérification aléatoire au début de chaque connexion, crée un défi haché à partir de ce code et envoie ce défi au fournisseur d'identité dans le cadre de la requête d'autorisation. Lors de l'échange de jetons, le code de vérification original est envoyé avec le code d'autorisation afin que le fournisseur d'identité puisse vérifier leur correspondance.


2. Choix de la méthode de vérification du code : L’extension prend en charge deux méthodes : S256 et la méthode simple. La méthode S256 hache le code de vérification avec SHA-256 avant l’envoi du défi, ce qui garantit que le secret original n’est jamais transmis. La méthode simple envoie directement le code de vérification comme défi, sans offrir de protection. Pour tout site Joomla en production, la méthode S256 est la plus appropriée et la plupart des fournisseurs d’identité modernes la prennent en charge.


3. Mise à jour de la configuration du fournisseur d'identité : Côté fournisseur d'identité, l'enregistrement de l'application doit être mis à jour pour exiger l'authentification PKCE. Cela implique généralement de définir l'application comme client public ou d'activer l'application de PKCE dans ses paramètres. La procédure exacte varie selon le fournisseur. Rendre PKCE obligatoire au niveau du fournisseur est important car toute tentative d'échange de jetons sans vérificateur de code valide sera rejetée, même si le code d'autorisation a été capturé.


4. Test du flux : Une connexion réussie via PKCE est identique à une connexion SSO classique du point de vue de l’utilisateur. Pour confirmer son bon fonctionnement, vérifiez que l’URL de la requête d’autorisation inclut les paramètres `code_challenge` et `code_challenge_method`. Pour tester la sécurité, tentez de réinjecter un code d’autorisation capturé sans le vérificateur de code ; le fournisseur d’identité devrait rejeter l’échange de jeton et renvoyer une erreur.

PKCE est l'une des améliorations de sécurité les plus pratiques pour l'authentification unique OAuth sur Joomla, car elle résout un problème concret sans impacter l'expérience utilisateur. Le processus de connexion reste inchangé, mais le code d'autorisation devient inutilisable pour quiconque l'intercepte. PKCE étant devenu la norme pour les déploiements OAuth, son activation via l'extension miniOrange OAuth Client permet à votre configuration d'authentification unique Joomla de rester conforme aux bonnes pratiques actuelles et facilite sa validation lors d'un audit de sécurité.

  1. Sécurité d'accès via la compartimentation - Protocole OAuth dans Joomla!
  2. SAML vs OAuth dans Joomla : lequel choisir ?
  3. Consultez notre documentation

Nous vous contacterons dans les plus brefs délais

forme mo

 Merci pour votre réponse. Nous reviendrons vers vous bientôt.

Quelque chose s'est mal passé. Veuillez soumettre à nouveau votre requête

Table des Matières

Bonjour!

Besoin d'aide? Nous sommes ici !

soutenez