認証
Orizm CLI には 2 つの認証方式があります。
- OAuth2 サインイン — ブラウザでサインインする方式。ローカルでの日常的な操作に向いています。
- API キー — 環境変数
ORIZM_API_KEYに Developer API キーを設定する方式。ブラウザを開けない CI や自動化スクリプトに向いています。
両者は併存でき、CLI はコマンドごとに使う認証情報を自動で選びます(解決順序)。
OAuth2 でサインインする
orizm auth login実行するとデフォルトブラウザが開き、サインインが求められます。完了すると、認証情報がローカルに保存され、以降のコマンドで自動的に使われます。サインインは 5 分以内 に完了する必要があります。ブラウザを自動で開けなかった場合は、ターミナルに表示される URL を手動で開いてください。
認証情報の保存場所
認証情報は次の場所に保存されます。
| OS | 保存場所 |
|---|---|
| macOS / Linux | $XDG_CONFIG_HOME/orizm/auth.json(既定は ~/.config/orizm/auth.json) |
| Windows | %APPDATA%\orizm\auth.json |
ファイルは本人のみが読み書きできる権限で作成されます。
サインイン状態を確認する
orizm auth statusサインインしているユーザーとセッションの有効期限を表示します(接続先や scope などの詳細は --json で確認できます)。サインインしていない場合は終了コード 1 で終了するため、orizm auth status || orizm auth login のような事前チェックに使えます。
orizm auth status は --json を付けてもトークンなどの秘匿値は出力しません。表示するのはアカウント情報・有効期限・接続先・認証方式までです。
サインアウトする
orizm auth logoutローカルの認証情報を破棄します。
セッションの更新
セッションの有効期限は CLI が自動で管理し、期限が近づくと自動的に更新します。そのため orizm auth login を頻繁に実行し直す必要はありません。セッションが失効していた場合は、再サインインを促すメッセージが表示されます。
API キーで認証する
ブラウザを開けない環境では、Developer API キーを環境変数で渡します。API キーは Orizm Console から取得します。
export ORIZM_API_KEY=<Developer API キー>API キーが設定されていれば orizm auth login は不要です。orizm auth status は API キーで認証済みであることを表示します。
解決順序
各コマンドは、リクエストの直前に次の順序で認証情報を決めます。
- 現在の接続先に対する OAuth2 セッション があればそれを使う(
ORIZM_API_KEYが設定されていてもこちらが優先されます) - セッションが無く
ORIZM_API_KEYが設定されていれば、API キーを使う - どちらも無ければエラーで終了し、
orizm auth loginまたはORIZM_API_KEYの設定を促す
OAuth2 セッションが残っていると、ORIZM_API_KEY
を設定してもセッションが優先されます。API キーに切り替えたい場合は orizm auth logout でセッションを破棄してください。
接続先ごとのセッション
認証情報は接続先ごとに分けて保存されます。そのため ORIZM_BASE_URL を本番・ステージング・ローカルで切り替えると、対応するセッションが自動的に選ばれ、環境をまたいで認証情報が混ざりません。接続先の指定方法は 環境変数と接続先 を参照してください。
CI での認証
GitHub Actions では、API キーをシークレットから環境変数として渡します。
- run: pnpm exec orizm schema push --yes
env:
ORIZM_API_KEY: ${{ secrets.ORIZM_API_KEY }}
ORIZM_BASE_URL: https://app.orizm.com
ORIZM_PROJECT: my-projectCI ではプロジェクトのリンク(.orizm/project.json)の代わりに ORIZM_PROJECT で対象を指定すると簡潔です。詳しくは プロジェクトのリンク を参照してください。