- Meta Account centralise progressivement la connexion et les réglages de Facebook, Instagram, Messenger, Meta AI, appareils Meta et parfois WhatsApp.
- Côté dev, tu ne « pilotes » pas l’Accounts Center : tu intègres Facebook Login, tu demandes les permissions minimales et tu passes par Graph API.
- Le vrai risque projet n’est pas le code OAuth ; c’est l’app review, les permissions, les tokens longue durée, les webhooks signés et la conformité RGPD.
1. Architecture des comptes Meta
Depuis 2026, Meta pousse un Meta Account plus centralisé, construit sur Accounts Center. Pour un développeur, la bonne lecture est simple : l’identité utilisateur est plus unifiée côté expérience, mais les produits gardent leurs surfaces API, leurs permissions et leurs contraintes.
Meta Account
├── Facebook Profile / Page
├── Instagram Account
├── Threads Account
├── Messenger
├── WhatsApp (optionnel selon configuration)
├── Meta AI
└── Devices Meta (Quest, lunettes, etc.)
Important : il n’existe pas de bouton magique pour lier ou délier programmatiquement tous les comptes d’un utilisateur via Accounts Center. Tu dois respecter le parcours utilisateur et les API documentées.
2. Authentification OAuth 2.0 avec Meta Login
Le flux classique reste un Authorization Code Flow : redirection, consentement, callback, échange du code contre un token, puis appels Graph API.
GET https://www.facebook.com/{version}/dialog/oauth
?client_id={app-id}
&redirect_uri={redirect-uri}
&scope={permissions}
&response_type=code
&state={csrf-token}
GET https://graph.facebook.com/{version}/oauth/access_token
?client_id={app-id}
&redirect_uri={redirect-uri}
&client_secret={app-secret}
&code={auth-code}
state n’est pas décoratif. Il protège contre la falsification de requête inter-sites dans le flow OAuth. Stocke-le côté serveur ou dans une session signée, puis vérifie-le au callback.3. Permissions : demande le minimum viable
Meta applique une logique d’accès progressif : permissions basiques pour tester, accès avancé après review, justification métier, captures d’écran et parfois business verification.
| Plateforme | Permissions fréquentes | Usage |
|---|---|---|
public_profile, email, pages_read_engagement, pages_manage_posts | Login, lecture page, publication page. | |
instagram_basic, instagram_content_publish, instagram_manage_insights, instagram_manage_comments | Profil pro, publication, analytics, modération. | |
| WhatsApp Business | whatsapp_business_management, whatsapp_business_messaging | Gestion compte business, messages templates et support. |
4. API Graph : endpoints utiles
Récupérer le profil de base
GET https://graph.facebook.com/{version}/me
?fields=id,name,email
&access_token={token}
Identifier les pages et comptes Instagram liés
GET https://graph.facebook.com/{version}/me/accounts
?fields=id,name,instagram_business_account
&access_token={token}
Publier sur Instagram
Le pattern courant : créer un conteneur media, vérifier si nécessaire son statut, puis publier le conteneur. En production, ajoute monitoring, retry raisonnable et logs corrélés.
POST /{ig-user-id}/media
POST /{ig-user-id}/media_publish
WhatsApp Cloud API
POST https://graph.facebook.com/{version}/{phone-number-id}/messages
Authorization: Bearer {token}
Content-Type: application/json
5. Webhooks : le vrai point de fiabilité
Un webhook Meta doit réussir la vérification initiale, répondre vite, journaliser proprement et vérifier la signature lorsque Meta l’expose pour le produit concerné. Ne traite pas tout dans la requête HTTP : accuse réception, mets en file, traite ensuite.
GET /webhook?hub.mode=subscribe&hub.challenge=...&hub.verify_token=...
POST /webhook # événements entrants
Architecture minimale recommandée : endpoint HTTPS, vérification, queue, worker, idempotence par event id, logs, alertes, replay contrôlé.
6. Tokens, rotation et dette cachée
- Ne stocke jamais les tokens en clair : chiffre au repos et limite les accès.
- Prévoyez une stratégie pour tokens expirés, permissions révoquées et comptes déconnectés.
- Expose un bouton « reconnecter Meta » clair côté utilisateur.
- Journalise les erreurs Graph API avec leur code, sous-code et version d’API.
7. RGPD et conformité
Meta te donne une API, pas une dispense RGPD. Tu dois expliquer les finalités, minimiser les champs, documenter les durées de conservation, permettre la suppression et maintenir une politique de confidentialité cohérente avec les permissions demandées.
8. GitHub : starter kit propre
Pour éviter la dette, crée un dépôt dédié avec ces dossiers :
meta-integration/
├── apps/api/src/routes/meta-oauth.ts
├── apps/api/src/routes/meta-webhook.ts
├── packages/meta-client/src/graph.ts
├── packages/meta-client/src/tokens.ts
├── docs/app-review.md
└── docs/permissions.md
Liens utiles : facebook-nodejs-business-sdk, fbsamples et ton outil local GitHub Fetcher TechAndStream.