CLI認証

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:logout

auth: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_URLhttps://api.sofia-post.com別の API インスタンス(ステージング、ローカル)。
SOFIA_CLIENT_ID「Sofia CLI」クライアントauth:login に使う別の公開 OAuth クライアント。

公開の準備はできましたか?投稿へ進みましょう。

このページは役に立ちましたか?