Plugin WordPress

From Documentation de la solution web de gestion OpenFlyers
Revision as of 11:07, 9 September 2026 by Ozerhouni (talk | contribs) (Lien interne vers le chapitre Enregistrer un client, au lieu d une URL absolue)
Jump to navigation Jump to search

Présentation

L'objet de cette page est de décrire le plugin WordPress OpenFlyers SSO, qui permet aux membres d'une structure de se connecter à un espace privé d'un site WordPress avec leurs identifiants OpenFlyers. Le mot de passe est saisi sur la plateforme OpenFlyers. Il n'est ni transmis au site WordPress ni stocké par celui-ci.

Description du plugin

Le plugin met en oeuvre le mécanisme d'autorisation Authorization Code avec PKCE, l'authentification TLS mutuelle et la signature HTTP décrits dans la page API OpenFlyers.

L'archive du plugin contient un fichier README.md qui décrit l'installation et l'exploitation côté WordPress. La présente page décrit les opérations réalisées sur la plateforme OpenFlyers ainsi que le paramétrage du plugin.

Prérequis

Sur l'hébergement du site WordPress
  • PHP version 7.4 ou supérieure, avec les extensions curl et openssl
  • la possibilité d'utiliser un certificat client sortant. Certains hébergements mutualisés l'interdisent
  • un emplacement de stockage hors de la racine web pour les clés privées
  • un accès au site en HTTPS avec une URL stable
Sur la plateforme OpenFlyers
  • un compte disposant des droits d'administration
  • un profil portant l'autorisation de connexion depuis l'extérieur pour chaque membre concerné

Obtenir le plugin

L'archive du plugin est mise à disposition par OpenFlyers à cette adresse : https://openflyers.com/wordpress-sso/openflyers-sso-1.1.0.zip

Autoriser les membres à se connecter

Admin > Utilisateurs > Profils

Dans l'onglet Généralités, cocher la case de la colonne Connexion depuis l'extérieur (OAuth2) pour chaque profil dont les membres accèdent à l'espace privé du site WordPress, puis cliquer sur le bouton VALIDER.

Un membre dont aucun profil ne porte cette autorisation obtient le message Connected user is not allowed to login après la saisie de ses identifiants.

Cette autorisation détermine quels membres accèdent à l'espace privé : seuls les profils cochés y accèdent.

Déclarer le client OAuth2

La déclaration du client s'effectue depuis l'administration de la plateforme, selon la procédure décrite au chapitre Enregistrer un client.

Deux valeurs sont propres au plugin :

  • Type d'autorisation : sélectionner Authorization Code. Sélectionner également Refresh Token pour des sessions de longue durée
  • URL de redirection : l'URL affichée en haut de la page de réglages du plugin, de la forme https://exemple.fr/?of_sso=callback. Cette URL est reproduite au caractère près

La déclaration délivre deux certificats signés, un identifiant de client et une passphrase. La passphrase n'est affichée qu'une seule fois.

Installer le plugin

Extensions > Ajouter > Téléverser une extension

Sélectionner l'archive du plugin, cliquer sur le bouton Installer maintenant, puis sur le bouton Activer.

Configurer le plugin

Réglages > OpenFlyers SSO

Renseigner les champs suivants :

  • Code plateforme : le code de la plateforme OpenFlyers. Laisser ce champ vide lorsque la plateforme répond à la racine du domaine
  • client_id et Passphrase (client_secret) : les valeurs délivrées lors de la déclaration du client
  • Dossier des certificats : le chemin absolu du dossier contenant les six fichiers fournis par OpenFlyers

Cliquer sur le bouton Enregistrer les modifications.

Les noms de fichiers attendus dans ce dossier sont indiqués sous le champ. Un fichier portant un autre nom se déclare individuellement dans la rubrique Chemins personnalisés (avancé).

Vérifier la configuration

Cliquer sur le bouton Tester la connexion à OpenFlyers situé en haut de la page de réglages. Le plugin envoie une requête au serveur d'autorisation avec un code d'autorisation invalide. Le certificat TLS, la signature HTTP et les identifiants du client sont ainsi contrôlés par le serveur.

Le message Connexion à OpenFlyers réussie indique que la chaîne d'authentification est acceptée et qu'un membre peut se connecter. Les autres messages désignent l'élément refusé : certificat, signature, identifiants du client ou type d'autorisation du client.

La rubrique Diagnostic, en bas de la page, contrôle sans connexion au serveur la présence des extensions PHP, la lisibilité des fichiers, les dates d'expiration des certificats et la correspondance entre chaque certificat et sa clé privée.

Gérer les comptes WordPress

OpenFlyers transmet au site l'identifiant du membre. Le nom et l'adresse électronique ne sont pas transmis.

Deux modes de gestion sont disponibles :

  • Comptes existants uniquement : le membre dispose d'un compte WordPress portant son identifiant OpenFlyers. Cet identifiant se saisit dans la fiche de l'utilisateur WordPress, rubrique OpenFlyers
  • Créer automatiquement les comptes : un compte WordPress est créé à la première connexion, avec le rôle sélectionné. Ce compte porte un identifiant technique de la forme of-1234

Pour retirer l'accès d'un membre, vider le champ Identifiant du membre dans sa fiche WordPress. La désactivation de son compte OpenFlyers produit le même effet.

Réserver du contenu aux membres

Le plugin fournit deux codes courts.

Bouton de connexion :

[openflyers_login]

Contenu réservé aux membres connectés :

[openflyers_membre]Contenu réservé[/openflyers_membre]

Troubleshooting

Connected user is not allowed to login

Le membre n'appartient à aucun profil dont la case Connexion depuis l'extérieur (OAuth2) est cochée.

400 The SSL certificate error

Le serveur web refuse le certificat client avant traitement de la requête. Le certificat installé sur le site ne correspond pas à celui enregistré lors de la déclaration du client. Lorsque les fichiers sont conformes, l'hébergement termine la connexion TLS sur un serveur intermédiaire : cocher la case Envoyer l'en-tête X-SSL-CERT.

unable to get local issuer certificate

Le fichier ca.crt installé ne permet pas de valider le certificat du serveur OpenFlyers. Ce fichier valide le serveur et non le client. Retirer ca.crt du dossier des certificats pour utiliser le magasin d'autorités du système.

Aucun compte de ce site n'est associé à votre compte OpenFlyers

Le mode Comptes existants uniquement est actif et aucun compte WordPress ne porte l'identifiant du membre. Renseigner cet identifiant dans la fiche de l'utilisateur WordPress, ou activer la création automatique des comptes.

Session de connexion expirée ou invalide

Plus de dix minutes se sont écoulées entre le début de la connexion et le retour sur le site. Recommencer la connexion.