Ce document explique comment configurer chaque fournisseur de connexion sociale (Google, Facebook, LinkedIn, Naver, Kakao, LINE) dans le plugin Simple Easy Social Login (SESLP).
Toutes les connexions reposent sur OAuth 2.0 / OpenID Connect (OIDC).
Vous devez créer une application (client) dans la console de chaque fournisseur et saisir le Client ID / Client Secret dans SESLP.
https://{your-domain}/?social_login={provider}
Exemples :
https://example.com/?social_login=googlehttps://example.com/?social_login=facebookhttps://example.com/?social_login=linkedinhttps://example.com/?social_login=naverhttps://example.com/?social_login=kakaohttps://example.com/?social_login=lineLa plupart des fournisseurs exigent HTTPS et rejetteront les redirections http://.
La Redirect URI dans la console doit correspondre Ă 100 % Ă celle envoyĂ©e par SESLP (protocole, sous-domaine, chemin, slash final et chaĂźne de requĂȘte).
Certains fournisseurs permettent aux utilisateurs de refuser le partage de leur adresse e-mail. SESLP peut alors utiliser des identifiants stables du fournisseur pour lier les comptes.
/wp-content/SESLP-debug.log/wp-content/debug.log (WP_DEBUG_LOG = true)/wp-content/SESLP-debug.log (journal de débogage SESLP)/wp-content/debug.log (WP_DEBUG_LOG = true)[YYYY-MM-DD HH:MM:SS Z] [LEVEL] Message {"key":"value",...}
Z : UTC ou heure locale de WordPress (par ex. KST) â sĂ©lectionnable dans les paramĂštres SESLPr********@g****.com)
1) DĂ©marrage dâOAuth
[DEBUG] State created {"provider":"google","state":"906****23","ttl":"10min"}
Signification : un jeton state de protection CSRF a été créé. ttl est valide pendant 10 minutes.
2) Callback déclenché
[DEBUG] Auth route triggered {"provider":"google","has_code":1}
Signification : le callback a Ă©tĂ© atteint. has_code:1 â le code OAuth code a Ă©tĂ© reçu.
3) Validation du state
SuccĂšs :
[DEBUG] State validated {"provider":"google","state":"906****23"}
Ăchec :
[WARNING] State validation failed: not found/expired {"provider":"google","state":"906****23"}
4) Ăchange du jeton
[DEBUG] Token response (google) {"has_access_token":1}
Signification : le jeton a été obtenu.
Ăchec :
[ERROR] Token request failed (google) {"error":"..."}
5) RequĂȘte dâinformations utilisateur
[ERROR] Userinfo request failed (google)
[WARNING] Invalid userinfo (google)
6) Lien utilisateur
[DEBUG] Linker: signing in user {"user_id":45,"provider":"google","created":0}
[INFO] Login success (google) {"user_id":45,"email":"r********@g****.com"}
7) Redirection
[DEBUG] Redirect decision {"mode":"profile","user_id":45,"url":"https://example.com/wp-admin/profile.php"}
| Message du journal (résumé) | Cause probable | Action |
|---|---|---|
| State validation failed | DĂ©lai dĂ©passĂ©, changement dâonglet, requĂȘte en double | RĂ©essayez rapidement, utilisez le mode privĂ© |
| Token request failed | Client ID/Secret/Redirect incorrect, requĂȘte bloquĂ©e | VĂ©rifiez la console de dĂ©veloppement, le pare-feu et lâheure du serveur |
| Userinfo invalid | Scope manquant ou e-mail privĂ© | Ajoutez les scopes email, profile et demandez le consentement de lâutilisateur |
| User create failed | Conflit de compte ou restriction WordPress | Vérifiez les utilisateurs existants et les rÚgles multisites |
| Redirect missing | Retour anticipĂ© dans le code | Assurez-vous que la classe Redirect sâexĂ©cute aprĂšs le callback |
Développez chaque fournisseur ci-dessous et collez le contenu du guide en français que vous avez préparé pour ce fournisseur.
openid email profilehttps://{domain}/?social_login=google(1) HTTPS recommandé / pratiquement indispensable (utilisez des certificats de développement fiables pour les environnements locaux).
(2) La Redirect URI doit correspondre exactement à 100 % à la valeur enregistrée dans la console. Ex. : https://example.com/?social_login=google
(3) En mode test, seuls les utilisateurs de test peuvent se connecter (jusquâĂ 100 utilisateurs).
(4) Lorsque vous utilisez des URL de page dâaccueil, de politique de confidentialitĂ© ou de conditions dâutilisation, lâenregistrement des domaines de lâapplication (Authorized domains) et la vĂ©rification de propriĂ©tĂ© peuvent ĂȘtre nĂ©cessaires.
(1) Accédez à Google Cloud Console.
https://console.cloud.google.com/apis/credentials
(2) SĂ©lectionnez le projet en haut â CrĂ©er un nouveau projet (si nĂ©cessaire).
(3) Dans la barre latĂ©rale, allez dans APIs & Services â OAuth consent screen.
(4) SĂ©lectionnez le type dâutilisateur : gĂ©nĂ©ralement External.
(5) Saisissez les informations de lâapplication : nom de lâapplication, e-mail dâassistance utilisateur, logo (facultatif).
(6) Section App domain
(7) Configurez les Scopes
openid, email, profile(8) Ajoutez des utilisateurs de test (adresses e-mail autorisées à se connecter en mode test).
(9) Save.
Remarque : Lâutilisation des scopes de base uniquement (openid email profile) permet souvent une mise en service (publication) sans examen.
(1) Barre latĂ©rale : APIs & Services â Credentials.
(2) En haut : + Create Credentials â OAuth client ID.
(3) Type dâapplication : Web application.
(4) Saisissez un nom facilement identifiable (par ex. SESLP â Front).
(5) Ajoutez les Authorized redirect URIs
https://{domain}/?social_login=google(6) Cliquez sur Create, puis copiez le Client ID / Client Secret affiché.
(Facultatif) Les Authorized JavaScript origins ne sont généralement pas nécessaires pour ce plugin utilisant le code grant.
(1) Administration WP â onglet SESLP Settings â Google.
(2) Collez le Client ID / Client Secret â Save.
(3) Testez avec le bouton de connexion Google sur le frontend du site.
(1) VĂ©rifiez OAuth consent screen â Publishing status.
(2) Pour passer du mode test Ă la production :
(3) AprĂšs le passage en production, tous les comptes Google peuvent se connecter.
(1) redirect_uri_mismatch
â Se produit si la Redirect URI enregistrĂ©e dans la console et lâURI rĂ©elle de la requĂȘte diffĂšrent, mĂȘme lĂ©gĂšrement (y compris le protocole, le sous-domaine, le slash ou la requĂȘte). Corrigez-les pour quâelles correspondent exactement.
(2) access_denied / disallowed_useragent
â Restrictions liĂ©es au navigateur ou Ă lâenvironnement in-app. RĂ©essayez dans un navigateur classique.
(3) invalid_client / unauthorized_client
â Faute de frappe dans le Client ID/Secret ou problĂšme dâĂ©tat de lâapplication (supprimĂ©e/dĂ©sactivĂ©e). Réémettez ou revĂ©rifiez les identifiants.
(4) Lâe-mail est vide
â VĂ©rifiez si le scope email est inclus, si lâĂ©cran de consentement sâaffiche correctement et les paramĂštres de visibilitĂ©/sĂ©curitĂ© de lâe-mail du compte. Expliquez clairement lâusage de lâautorisation e-mail dans lâĂ©cran de consentement.
Vérifier les journaux :
wp-content/SESLP-debug.log (dĂ©bogage du plugin activĂ©)wp-content/debug.log (WP_DEBUG, WP_DEBUG_LOG = true)https://{domain}/?social_login=googlehttps://{domain}/?social_login=facebookpublic_profile, emailopenid.(1) AccĂ©dez Ă Meta for Developers â Connectez-vous
https://developers.facebook.com/
(2) Cliquez sur Create App â SĂ©lectionnez un type gĂ©nĂ©ral (par ex. Consumer) â CrĂ©ez lâapplication
(3) Dans la barre latérale gauche, ajoutez Facebook Login depuis Products
(4) Allez dans Settings â VĂ©rifiez les Ă©lĂ©ments suivants :
https://{domain}/?social_login=facebook(1) App Domains : example.com (domaine des URL de politique/conditions/page dâaccueil)
(2) URL de politique de confidentialité : page publique accessible
(3) URL des conditions dâutilisation : page publique accessible
(4) Suppression des données utilisateur : fournir une URL de guide ou un endpoint de suppression
(5) CatĂ©gorie / IcĂŽne de lâapplication : configurer correctement, puis Save
(1) Les autorisations de base requises pour la connexion standard sont public_profile ; lâe-mail optionnel est email
(2) Dans la plupart des cas, email peut ĂȘtre utilisĂ© sans examen, mais des exceptions peuvent exister selon la rĂ©gion/le compte
(3) Les autorisations avancées (pages, publicités, etc.) nécessitent un App Review et une Business Verification
En haut ou dans les paramĂštres de lâapplication, passez App Mode : Development â Live
(1) Admin WP â SESLP Settings â Facebook
(2) Saisissez App ID / App Secret â Enregistrer
(3) Testez avec le bouton de connexion Facebook sur le frontend
(1) Can't Load URL / erreur redirect_uri
â Assurez-vous que lâURI est exactement identique dans Valid OAuth Redirect URIs (protocole, sous-domaine, slash, paramĂštres)
(2) email null
â Lâutilisateur nâa pas dâe-mail enregistrĂ© sur Facebook ou celui-ci est privĂ©. PrĂ©parez une logique de liaison basĂ©e sur lâID et expliquez clairement lâutilisation de lâe-mail dans lâĂ©cran de consentement
(3) Erreurs liées aux autorisations
â Si les scopes demandĂ©s dĂ©passent les autorisations de base, un App Review / Business Verification est requis
(4) Impossible de passer en Live
â Si lâURL de politique/conditions/suppression des donnĂ©es est manquante ou non publique. Vous devez fournir une URL publique
https://{domain}/?social_login=linkedinopenid, profile, emailr_liteprofile, r_emailaddress).(1) Accédez à LinkedIn Developers Console
â https://www.linkedin.com/developers/apps
(2) Connectez-vous avec votre compte LinkedIn
(3) Cliquez sur Create app
(4) Remplissez les champs requis :
MySite LinkedIn Login(5) Cliquez sur Create app
Mode dĂ©veloppement par dĂ©faut â permet de tester immĂ©diatement la connexion avec openid, profile, email sans publication
(1) Allez dans lâonglet Products
(2) Trouvez Sign In with LinkedIn using OpenID Connect
(3) Cliquez sur Add product â approuvĂ© instantanĂ©ment
(4) Les paramĂštres OIDC apparaissent dans lâonglet Auth
Scopes OIDC requis
openid â jeton IDprofile â nom, photo, titreemail â adresse e-mail(1) AccĂ©dez Ă Auth â OAuth 2.0 settings
(2) Ajoutez dans Redirect URLs :
â https://{domain}/?social_login=linkedin
(3) Correspondance exacte requise (protocole, sous-domaine, slash, requĂȘte)
(4) Enregistrez plusieurs URL si nécessaire :
https://localhost:3000/?social_login=linkedinhttps://staging.example.com/?social_login=linkedinhttps://example.com/?social_login=linkedin(5) Cliquez sur Save
(1) Dans lâonglet Auth, trouvez :
(2) Admin WordPress â SESLP Settings â LinkedIn
(3) Collez les deux â Save
(4) Testez avec le bouton de connexion LinkedIn sur le frontend
Sécurité :
| Scope | Description | Remarque |
|---|---|---|
openid |
Retourne un jeton ID conforme OIDC | Requis |
profile |
Nom, photo, titre, etc. | Requis |
email |
Adresse e-mail | Requis |
Anciennes scopes (r_liteprofile, r_emailaddress)
(1) redirect_uri_mismatch
â Les URI diffĂšrent mĂȘme lĂ©gĂšrement â assurez une correspondance Ă 100 %
(2) invalid_client
â ID/Secret incorrect ou application inactive â vĂ©rifier ou rĂ©gĂ©nĂ©rer
(3) email NULL
â Lâutilisateur a refusĂ© ou le scope email est manquant â expliquer lâutilisation dans lâĂ©cran de consentement
(4) insufficient_scope
â Scope demandĂ© non approuvĂ© â vĂ©rifier que OIDC est activĂ©
(5) OIDC non activé
â Produit Sign In with LinkedIn using OpenID Connect manquant dans Products
Journaux :
/wp-content/SESLP-debug.log/wp-content/debug.logopenid profile email (sans anciens scopes)Remarque :
https://{domain}/?social_login=navername), e-mail (email)(1) Accédez au Naver Developer Center
â https://developers.naver.com/apps/
(2) Connectez-vous avec votre compte Naver
(3) Cliquez sur Application â Register Application
(4) Remplissez les champs requis :
MySite Naver LoginNaver Login (ë€ìëĄ)https://example.comhttps://example.com/?social_login=naver(5) Acceptez les conditions â Register
Remarque :
(1) Accédez à My Applications
(2) Cliquez sur lâapplication â copiez le Client ID et le Client Secret
(1) Admin WP â SESLP Settings â Naver
(2) Collez le Client ID / Client Secret
(3) Assurez-vous que lâURI de redirection correspond exactement : https://{domain}/?social_login=naver
(4) Save â testez avec le bouton de connexion Naver sur le frontend
| Donnée | Scope | Remarque |
|---|---|---|
| Nom | name |
Par défaut |
email |
Par défaut | |
| Genre, date de naissance | Séparé | Examen requis |
email = null â utiliser une liaison basĂ©e sur lâID(1) Redirect URI mismatch
â MĂȘme une lĂ©gĂšre diffĂ©rence â assurez une correspondance Ă 100 %
(2) Erreur HTTP
â Utiliser HTTPS obligatoirement
(3) Erreur de sous-domaine
â Enregistrer chaque sous-domaine sĂ©parĂ©ment
(4) email NULL
â Refus utilisateur ou e-mail privĂ© â prĂ©voir une logique basĂ©e sur lâID
(5) Examen requis
â Connexion de base : pas dâexamen
â DonnĂ©es supplĂ©mentaires : examen requis
Journaux :
/wp-content/SESLP-debug.log/wp-content/debug.logRemarque :
name, email) est disponible sans examen.https://{domain}/?social_login=kakaoprofile_nickname, profile_image, account_emailaccount_email disponible uniquement aprĂšs vĂ©rification dâidentitĂ© ou dâentreprise(1) AccĂ©dez Ă Kakao Developers
â https://developers.kakao.com/
(2) Connectez-vous â My Applications â Add New App
(3) Saisissez :
(4) Save
(1) Product Settings > Kakao Login
(2) Activer Enable Kakao Login â ON
(3) Enregistrer lâURI de redirection
https://{domain}/?social_login=kakao(4) Le domaine doit correspondre au Platform site domain
(1) Consent Items
(2) Ajouter et configurer :
| Scope | Description | Type de consentement | Remarque |
|---|---|---|---|
profile_nickname |
Pseudonyme | Obligatoire/Optionnel | Basique |
profile_image |
Image de profil | Obligatoire/Optionnel | Basique |
account_email |
Optionnel | Vérification requise |
(3) Indiquer clairement lâobjectif pour chacun
(4) Save
Remarque : Les scopes sensibles nécessitent une vérification
(1) App Settings > Platform
(2) Register Web Platform
(3) Domaine du site : https://{domain}
(4) Save â doit correspondre au domaine de lâURI de redirection
(1) Product Settings > Security
(2) Use Client Secret â ON
(3) Generate Secret â copier la valeur
(4) Activation Status â Active
(5) Save
Important : Il faut activer aprÚs génération
(1) App Keys
(2) Copier la REST API Key â lâutiliser comme Client ID
(1) Admin WP â SESLP Settings â Kakao
(2) Client ID = REST API Key
Client Secret = Secret généré
(3) Save
(4) Tester avec le bouton de connexion Kakao
(1) redirect_uri_mismatch â correspondance Ă 100 % requise
(2) invalid_client â Secret non activĂ© ou erreur de saisie
(3) email vide â utilisateur refusĂ© ou non vĂ©rifiĂ©
(4) Domain mismatch â plateforme vs URI de redirection
(5) HTTP interdit â HTTPS uniquement
Journaux :
/wp-content/SESLP-debug.log/wp-content/debug.loghttps://{domain}/?social_login=lineopenid, profile, email(1) Accédez à la console LINE Developers
â https://developers.line.biz/console/
(2) Connectez-vous avec un compte LINE Business (les comptes personnels ne sont pas autorisés)
(3) Cliquez sur Create a new provider â saisissez le nom â Create
(4) Dans le provider â onglet Channels
(5) Sélectionnez Create a LINE Login channel
(6) Configurez :
LINE LoginSouth Korea, Japan)(7) Acceptez les conditions â Create
(1) Accédez à OpenID Connect dans le menu de gauche
(2) Cliquez sur Apply à cÎté de Email address permission
(3) Remplissez la demande :
(4) Le scope email fonctionne uniquement aprĂšs approbation
â Lâapprobation prend gĂ©nĂ©ralement 1 Ă 3 jours ouvrables
(1) Accédez à LINE Login dans le menu de gauche
(2) Saisissez lâURL de callback :
â https://{domain}/?social_login=line
(3) Correspondance exacte requise :
https:// (HTTP non autorisé)(4) Cliquez sur Save
(5) Passez le statut du channel Ă Published
(1) En haut du channel ou dans Basic settings
(2) Channel ID â SESLP Client ID
Channel Secret â SESLP Client Secret
(1) Admin WP â SESLP Settings â LINE
(2) Client ID â Channel ID
Client Secret â Channel Secret
(3) Save
(4) Tester avec le bouton de connexion LINE sur le frontend
(1) redirect_uri_mismatch â mĂȘme une lĂ©gĂšre diffĂ©rence provoque une erreur â correspondance Ă 100 %
(2) invalid_client â erreur dans le secret ou channel non publiĂ©
(3) email NULL â autorisation e-mail non approuvĂ©e ou refus utilisateur
(4) HTTP non autorisĂ© â HTTPS requis (localhost HTTPS possible)
(5) Limitation du mode dĂ©veloppement â seuls les comptes de test peuvent se connecter
Journaux :
/wp-content/SESLP-debug.log/wp-content/debug.logRemarque : SESLP prend entiĂšrement en charge