suya auth
suya auth は、CLI が Subaya API に対してどう認証するかを管理します。両方の認証情報モードの
概念的な概要については、認証と API キー をご覧ください。
suya auth login
Section titled “suya auth login”OAuth ブラウザフローでインタラクティブにサインインします。
suya auth loginsuya auth login --no-browser| フラグ | 説明 |
|---|---|
--no-browser |
ブラウザを起動しない。任意のデバイスから承認するための短いコードを表示する(下記のデバイスフロー)。 |
デフォルトでは、CLI はループバックリダイレクトを使ってブラウザを開き、結果として得られた
トークンをローカルに保存します。これはブラウザが CLI と同じマシン上にある場合に最速の
経路です — リダイレクト先が 127.0.0.1 である以上、同じマシンである必要があります。
ブラウザを開けない場合、またはリダイレクトが戻ってこない場合(ブラウザが別の場所にある という典型的なサイン — SSH、コンテナ、リモート開発マシンなど)、CLI は自動的にデバイス フローに切り替えます。何かをやり直す必要はありません。
エージェントと CI の場合は、ログインする代わりに SUBAYA_API_KEY を設定することを推奨します
— ブラウザはまったく関与しません。
ブラウザなしでのログイン(デバイスフロー)
Section titled “ブラウザなしでのログイン(デバイスフロー)”suya を実行しているマシンに自前のブラウザがない場合に使います: SSH 経由、コンテナ内部、
リモートのビルドマシン上など。
suya auth login --no-browserCLI はコードと 2 つのリンクを表示して待機します:
Open this link on any device: https://subaya-dev.com/auth/device?user_code=KHTM-BQWD Or go to https://subaya-dev.com/auth/device and enter: KHTM-BQWD
Waiting for approval... (Ctrl-C to cancel)ブラウザのあるデバイス(ノート PC でもスマートフォンでも)でそのページを開き、まだ サインインしていなければサインインし、画面に表示されたコードがターミナルのものと一致する ことを確認して、承認します。ページには要求元のマシン名が表示されるため、自分が開始した ログインとそうでないものを見分けられます。CLI は数秒以内にそれを検知し、トークンを保存して、 サインインしたアカウントを表示します。
ターミナルに何かを入力し直すことは一切ないため、シェルからだけでなくスクリプトや エージェントからも同じように動作します。
注意:
- コードの有効期間は 10 分で、使用できるのは 1 回だけです。期限切れになった場合は、 コマンドをもう一度実行して新しいコードを取得してください。
- 承認すると、CLI には現在アクティブな組織における自分自身としてのアクセスが付与されます。
別の組織に対してログインするには、まずコンソールで組織を切り替えてから、
suya auth loginを再実行してください。 - 自分がログインを開始していない場合は、**Deny(拒否)**をクリックしてください — トークンは 発行されません。
suya auth logout
Section titled “suya auth logout”サインアウトし、ローカルに保存されたトークンを失効させます。
suya auth logoutsuya auth status
Section titled “suya auth status”ローカルの認証状態を表示します。これはサーバーを呼び出しません — CLI がディスク上に どの認証情報を持っているかを報告します。
suya auth statussuya auth whoami
Section titled “suya auth whoami”サーバー(/api/auth/cli/whoami)を呼び出し、現在の認証情報が解決するアイデンティティを
表示します。これは両方の種類の認証情報で動作します: suya auth login で取得した
トークンと、SUBAYA_API_KEY の両方です。キーを CI に渡す前に、正しく配線されているかを
確認するのに使います。
export SUBAYA_API_KEY="sk_live_..."suya auth whoami認証情報が拒否された場合、whoami は単に失敗するのではなく、その理由を伝えます:
| 理由 | 意味 |
|---|---|
unknown_key |
API キーが認識されない — 失効済み、期限切れ、あるいは元から存在しない。コンソールの Settings → API keys で新しいキーを発行してください。 |
wrong_environment |
キーの形式は正しいが、もう一方の環境に属している(下記参照)。メッセージには正しいキーを発行する場所が含まれます。 |
unknown_token |
ログイントークンが期限切れか失効している。suya auth login を再実行してください。 |
no_credential |
認証情報がまったく提示されていない。SUBAYA_API_KEY を設定するか、suya auth login を実行してください。 |
キーは環境ごとに分かれています
Section titled “キーは環境ごとに分かれています”API キーはプレフィックスに環境を持っており、キーは発行された対象のホストに対してのみ 有効です:
sk_live_…— 本番 API(https://subaya-dev.com)。--hostのデフォルト先です。sk_test_…— 非本番環境用に予約されています。
本番ホストに sk_test_ キーを送ると、汎用的な「無効なキー」ではなく wrong_environment
として拒否されます — したがって、これを見た場合にすべきことは、失効したキーを探し回ること
ではなく、正しい種類のキーを発行することです。キーの発行は、呼び出す対象の環境のコンソールで
Settings → API keys から行ってください。