Aller au contenu

Traduction automatique

Cette page a été traduite automatiquement par IA et peut contenir des erreurs. En cas de doute, référez-vous à la source anglaise.

Source anglaise · Signaler un problème de traduction

Modèle d'authentification

Cette page présente la zone de référence de l'API — l'enregistrement éprouvé sur le terrain du projet pplx_export de l'API web privée de Perplexity. Public : mainteneurs et utilisateurs de ce projet. Tous les points de terminaison ont été vérifiés via capture réseau WebBridge + requêtes directes authentifiées par cookie (2026-07). Toute modification ou ajout à la connaissance de l'API doit être synchronisé dans ces pages (exigence explicite de l'utilisateur). Dernière mise à jour : 2026-07-23

La zone de référence est divisée en : 1. Modèle d'authentification (cette page) · 2. GraphQL (requêtes persistées / APQ) · 3. Points de terminaison REST (groupés par objectif) · 4–5. Structure des réponses et sémantique des erreurs · 6–8. Éléments à déterminer, découverte des points de terminaison et feuille de route — pour la conception système environnante, voir la carte de lecture de l'architecture.


1. Modèle d'authentification

  • Toutes les requêtes API nécessitent uniquement le cookie de session du navigateur (aucun jeton CSRF requis ; les requêtes GET et POST ont été vérifiées fonctionnelles via des requêtes directes).
  • Cookie clé : __Secure-next-auth.session-token (jeton de session du compte actuellement actif).
  • Cloudflare se trouve devant : cf_clearance/__cf_bm sont liés à l'empreinte TLS du navigateur — les requêtes curl nues reçoivent un 403 ; l'outil passe avec Python urllib + cookies importés du navigateur (UA déguisé en Chrome de bureau).

1.2 Multi-comptes (découvert le 2026-07-20)

  • Lorsque plusieurs comptes sont connectés dans le même navigateur, chaque compte possède son propre cookie __Secure-pplx.session.<user_id> (domaine www.perplexity.ai ; la valeur évolue avec les réponses).
  • La valeur de __Secure-next-auth.session-token = la valeur du cookie par compte du compte actif.
  • Changer de compte sur le web = naviguer vers https://www.perplexity.ai/?pplx_account=<user_id> ; le serveur réécrit le jeton actif.
  • Changement automatique côté outil (implémenté dans pplx_export) : énumérer les cookies __Secure-pplx.session.* du navigateur, remplacer __Secure-next-auth.session-token par chacun à tour de rôle, et sonder /api/auth/session jusqu'à ce que l'email cible corresponde.
  • GET /api/auth/linked-accounts retourne accounts: [{user_id, email, display_name, subscription_tier, is_primary}], mais retourne la liste complète des comptes uniquement lorsque le compte principal est actif (seulement le compte actuel lorsqu'un compte non principal est actif) — donc l'outil ne s'y fie pas.
  • Exemples de comptes enregistrés (la table réelle des comptes réside dans config.toml au niveau utilisateur ; des espaces réservés sont montrés ici) : A alice / alice@example.com / uid 00000000-0000-4000-8000-0000000000aa (Max) ; B bob / bob@example.com / uid 00000000-0000-4000-8000-0000000000bb (Pro, principal).