CLI
認証
ブラウザまたは個人用 API キーでログインします。両方が設定されている場合にどちらが優先されるかも、ここで説明します。
CLI のログイン方法は 2 つです。ブラウザを使う方法と、個人用 API キーを使う方法です。手元のマシンならブラウザが簡単で、CI やサーバーにはキーが向いています。
ブラウザでログイン
auth:login はブラウザで Sofia を開きます。アクセスを承認すると、CLI がローカルアドレス(http://127.0.0.1:<port>/callback)で受け取ります。PKCE 付きの OAuth2 認可コードフローなので、キーをコピーする必要はありません。
sofia auth:login--scopes "<s1 s2>":要求するスコープ。省略するとすべてのリソーススコープとoffline_accessになります。--no-browser:アドレスを開かずに表示します。ブラウザのないマシン向けです。
sofia auth:login --scopes "posts:read posts:write offline_access"
sofia auth:login --no-browser認証情報の保存先
auth:login の後、CLI はセッションを ~/.sofia/credentials.json(フォルダは 0700、ファイルは 0600)に保存します。期限切れのトークンは自動で更新され、ファイルも書き換えられます。
{
"apiUrl": "https://api.sofia-post.com",
"clientId": "…",
"accessToken": "…",
"refreshToken": "…",
"expiresAt": "…",
"scope": "…"
}確認とログアウト
auth:status は CLI が操作しているアカウントを表示します。auth:logout は認証情報ファイルを削除します。
sofia auth:status
sofia auth:logoutauth:logout が消すのはこのマシン上の認証情報だけです。Sofia API には取り消し用のエンドポイントがないため、Sofia の 設定 › 接続済みアプリ で取り消すまでアクセスは有効なままです。
個人用 API キーを使う
Sofia の 設定 › API › 個人アクセス でキーを作成し、SOFIA_API_KEY としてエクスポートします。auth:login は不要で、CI やサーバー向きです。キーの詳細は認証をご覧ください。
export SOFIA_API_KEY="sk_live_…"
sofia establishments:list優先されるもの
ブラウザの認証情報が SOFIA_API_KEY より優先されます。ログイン済みのマシンでキーを使うには、先に sofia auth:logout を実行してください。
環境変数
| 変数 | 既定値 | 役割 |
|---|---|---|
SOFIA_API_KEY | — | 個人用 API キー(設定 › API › 個人アクセス)。 |
SOFIA_API_URL | https://api.sofia-post.com | 別の API インスタンス(ステージング、ローカル)。 |
SOFIA_CLIENT_ID | 「Sofia CLI」クライアント | auth:login に使う別の公開 OAuth クライアント。 |
公開の準備はできましたか?投稿へ進みましょう。