CLIAuthentification

CLI

Authentification

Connectez-vous avec votre navigateur ou avec une clé d’API personnelle, et voyez laquelle l’emporte quand les deux existent.

La CLI se connecte de deux façons : avec votre navigateur, ou avec une clé d’API personnelle. Le navigateur est le plus simple sur votre poste ; la clé convient à la CI et aux serveurs.

Se connecter avec le navigateur

auth:login ouvre Sofia dans votre navigateur. Vous validez l’accès et la CLI le reçoit sur une adresse locale (http://127.0.0.1:<port>/callback). C’est le flux OAuth2 « authorization code » avec PKCE ; aucune clé à copier.

sofia auth:login
  • --scopes "<s1 s2>" : les scopes demandés. Par défaut, tous les scopes de ressource plus offline_access.
  • --no-browser : affiche l’adresse au lieu de l’ouvrir, pour une machine sans navigateur.
sofia auth:login --scopes "posts:read posts:write offline_access"
sofia auth:login --no-browser

Où sont stockés les identifiants

Après auth:login, la CLI garde votre session dans ~/.sofia/credentials.json (dossier 0700, fichier 0600). Un jeton expiré est rafraîchi tout seul et le fichier est réécrit.

{
  "apiUrl": "https://api.sofia-post.com",
  "clientId": "…",
  "accessToken": "…",
  "refreshToken": "…",
  "expiresAt": "…",
  "scope": "…"
}

Vérifier et se déconnecter

auth:status affiche le compte pour lequel la CLI agit. auth:logout supprime le fichier d’identifiants.

sofia auth:status
sofia auth:logout

auth:logout n'oublie que les identifiants de cette machine : l'API Sofia n'a pas de point d'accès de révocation, l'accès reste donc valable tant que vous ne le révoquez pas dans Sofia, sous Réglages › Applications connectées.

Utiliser une clé d’API personnelle

Créez une clé dans Sofia, sous Réglages › API › Accès personnel, puis exportez-la en SOFIA_API_KEY. Pas besoin de auth:login : c’est la voie pour la CI et les serveurs. Plus de détails sur les clés dans Authentification.

export SOFIA_API_KEY="sk_live_…"
sofia establishments:list

Lequel l’emporte

Les identifiants du navigateur passent avant SOFIA_API_KEY. Pour utiliser la clé sur une machine où vous êtes connecté, lancez d’abord sofia auth:logout.

Variables d’environnement

VariableValeur par défautRôle
SOFIA_API_KEY—Clé d’API personnelle (Réglages › API › Accès personnel).
SOFIA_API_URLhttps://api.sofia-post.comUne autre instance de l’API (préproduction, local).
SOFIA_CLIENT_IDLe client « Sofia CLI »Un autre client OAuth public pour auth:login.

Prêt à publier ? Passez aux posts.

Cette page vous a-t-elle aidé ?