OAuth2 PKCE, découpage en tweets, token refresh automatique — comment Residual Publish orchestre la publication d'un thread X complet en un clic, depuis votre article généré.
Malgré la baisse de popularité, Twitter/X reste le réseau où les décideurs tech, agences et freelances sont actifs. Un thread bien construit peut générer des centaines de leads entrants sans budget publicitaire.
Le problème : rédiger 10-15 tweets chaînés prend du temps. Residual Publish l'automatise.
Residual Publish prend votre article et le découpe intelligemment :
1. Séparation sur les doubles sauts de ligne — chaque paragraphe devient un tweet candidat
2. Respect de la limite 280 caractères — si un paragraphe dépasse, il est découpé sur les fins de phrases (., !, ?)
3. Chainâge automatique — chaque tweet est une réponse au précédent via reply.in_reply_to_tweet_id
4. Cap à 25 tweets — limite de sécurité de l'API Twitter
// Exemple de découpage
function splitThread(body: string): string[] {
const chunks = body.split(/\n\n+/).map(c => c.trim()).filter(Boolean)
// ... découpage par phrases si > 280 chars
return safe.slice(0, 25)
}Twitter/X utilise OAuth2 avec PKCE (Proof Key for Code Exchange) — une protection contre les attaques par interception de code d'autorisation.
Le flow :
1. Residual Publish génère un code_verifier aléatoire et son code_challenge SHA-256
2. Ils sont stockés dans des cookies httpOnly (15 minutes)
3. L'utilisateur est redirigé vers Twitter pour autoriser l'accès
4. Twitter renvoie un code que Residual Publish échange contre des tokens
Ce qui est stocké : access_token, refresh_token, expires_at — chiffrés en AES-256-GCM dans Supabase.
Les tokens Twitter expirent après 2 heures. Residual Publish vérifie l'expiration avant chaque publication et rafraîchit automatiquement si nécessaire.
Token expiré ?
✅ Non → Publication directe
🔄 Oui + refresh_token présent → Refresh → Publication → Mise à jour tokens en DB
❌ Oui + pas de refresh → Erreur (reconnexion nécessaire)Vous ne verrez jamais "reconnectez votre compte Twitter" à cause d'un token expiré.
Pour connecter Twitter/X à Residual Publish, vous devez avoir une app dans le Twitter Developer Portal :
1. Créez un projet et une app
2. Dans "User authentication settings", activez OAuth 2.0
3. Type : "Web App, Automated App or Bot"
4. Callback URL : https://publish.residual-labs.fr/api/v1/auth/twitter/callback
5. Copiez Client ID et Client Secret dans vos variables d'environnement
Niveau Free : 500 tweets/mois. Suffisant pour tester. Le niveau Basic (€100/mois) donne 10 000 tweets/mois.
Les threads qui performent sur Twitter en 2026 :
Residual Publish génère le ton "provocateur" qui fonctionne mieux sur Twitter que le ton factuel.
*Connectez votre compte Twitter/X et publiez votre premier thread automatiquement. Configurer →*
Residual Publish génère, publie et score vos leads en autonomie. BYOK, RGPD, scheduling inclus. 100 crédits offerts.
Créer un compte gratuit →