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 plusoffline_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-browserOù 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:logoutauth: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:listLequel 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
| Variable | Valeur par défaut | Rôle |
|---|---|---|
SOFIA_API_KEY | — | Clé d’API personnelle (Réglages › API › Accès personnel). |
SOFIA_API_URL | https://api.sofia-post.com | Une autre instance de l’API (préproduction, local). |
SOFIA_CLIENT_ID | Le client « Sofia CLI » | Un autre client OAuth public pour auth:login. |
Prêt à publier ? Passez aux posts.