Skip to content

cdm auth

cdm auth サブコマンドで、Codatum のサーバへのアクセスを認証するための PAT(パーソナルアクセストークン) を profile として管理します。PATそのものの概要や権限の仕組みについては PATと権限 を参照してください。

cdm auth <subcommand> [options]
サブコマンド用途
auth loginブラウザ承認または発行済み PAT から profile を登録
auth list登録済の profile 一覧を表示
auth useデフォルトの profile を切り替え
auth removeprofile を削除
auth whoami現在の profile の情報を表示
auth refreshprofile の情報を更新

profile の概念

  • PAT は profile 単位で管理し、複数の profile を登録できます
  • profile 名は、 英数字・ハイフン・アンダースコアのみ (正規表現: ^[a-zA-Z0-9_-]+$)、最大 50 文字に制限されます
  • 1つの profile が デフォルト として設定され、--profile フラグを指定しないコマンドはデフォルトの profile を利用します
  • 各 profile には、PATと、そのトークンが紐づくワークスペースの ID と名前、アカウントの ID とメールアドレスを保存します
    • PAT の発行単位(ワークスペース・アカウント単位)については PATと権限 を参照してください

環境変数によるオーバーライド

CI 環境などで、直接 PAT を指定したい場合、以下の環境変数を利用できます。

環境変数用途
CDM_PAT利用する PAT を直接指定。CDM_PAT が設定されている場合、 --profile フラグは無視され、この値が優先されます。
CDM_PROFILE利用する profile 名を指定。--profile フラグの代わりに利用できます。CDM_PAT が設定されている場合は無視されます。

profile の登録

cdm auth login
  --profile <name>          profile 名(ブラウザ承認時: フォームの初期値として使用 / 発行済み PAT の利用時: 対話入力を省略 / --pat-stdin 併用時: 必須)
  --pat-stdin               標準入力から PAT を読み取り、非対話で profile を登録(--profile 必須)
  --keep-default            登録した profile をデフォルトにせず、既存のデフォルトを維持する
  --app-host <url>          プレビュー等で開く Web アプリの URL(通常は省略)
  --api-host <url>          利用するAPIを変更する場合に指定(通常は省略)
  --docs-host <url>         利用するドキュメントの取得元を変更する場合に指定(通常は省略)

新しい profile を登録します。

対話での登録

  • 最初に、次のいずれかの登録方法を対話で選択します
    • ブラウザで承認:
      • CLI からブラウザを起動し、ワークスペース・profile 名・有効期限・権限などの条件を指定して、新規に PAT を発行して profile を登録します
      • --profile を指定した場合、profile 名の初期値としてフォームに反映されます(ブラウザ上で変更でき、変更後の値が採用されます)
    • 発行済み PAT の利用:
      • PAT を発行済の場合は、CLI 上で profile 名と PAT を直接入力して profile を登録できます
      • --profile を指定した場合、profile 名の対話入力を省略できます
  • 同名の profile が既に存在する場合、上書きするかを対話で確認します

非対話での登録(--pat-stdin

  • CI 等の非対話環境で profile を登録する場合は、--pat-stdin を指定し、標準入力から発行済みの PAT を渡します
  • --pat-stdin を指定した場合、--profile <name>必須です
  • 標準入力が TTY の場合(パイプが接続されていない場合)は、exit 1 で終了します
  • 同名の profile が既に存在する場合は、確認なしで上書きします(非対話のため)
bash
# 標準入力から PAT を渡して登録(PAT は環境変数を展開して渡す)
echo "$CDM_PAT_FOR_CI" | cdm auth login --profile ci --pat-stdin

登録の共通事項

  • 取得・入力された PAT の有効性を whoami でチェックし、有効な場合は紐づくワークスペースIDとワークスペース名、アカウントIDとメールアドレスを取得します
  • 登録した profile は デフォルトとして設定 されます。既存のデフォルトを維持したい場合は --keep-default を指定してください(登録後のデフォルト変更は cdm auth use を利用)

TIP

CI 等の非対話環境では、原則として profile を登録せず、環境変数 CDM_PAT で実行時に PAT を指定します。--pat-stdin での登録は、常時稼働するサーバなど profile を永続化したい場合に利用します。

profile 一覧の表示

cdm auth list
  -f, --format <fmt>    出力形式: text | json(既定: text)

登録済の profile 一覧を表示します。

  • デフォルトの profile は先頭列に * が表示されます(json 形式では isDefault: true
  • text では workspaceId / accountId は表示しません。ID が必要な場合は -f json を使ってください

text 出力例:

  Profile  Pat               WorkspaceName       AccountEmail
* work     cdm_pat_TR0v***   My Workspace        user@example.com
  personal cdm_pat_Ab12***   Personal Workspace  other@example.com

json 出力例:

json
{
  "profiles": [
    {
      "profile": "work",
      "pat": "cdm_pat_TR0v***",
      "isDefault": true,
      "workspaceId": "6653ebab5a1acaa5bd5422a5",
      "workspaceName": "My Workspace",
      "accountId": "671ef14b0d08cf6c657df7db",
      "accountEmail": "user@example.com"
    }
  ]
}

デフォルト profile の切り替え

cdm auth use <profile>

デフォルトの profile を切り替えます。

  • 指定した profile が登録されていない場合、exit 1 で終了します

profile の削除

cdm auth remove <profile>
  -y, --yes   確認プロンプトをスキップ

指定した profile を削除します。

  • 削除前に対話プロンプトで確認を求めます。--yes を指定するとプロンプトをスキップします。
  • 削除対象がデフォルトの profile だった場合、削除後に残っている profile の 先頭 が新しいデフォルトになります。残りが 0 件のときはデフォルトが未設定になります。

現在の profile の確認

cdm auth whoami
  --profile <name>      特定の profile を指定して検証
  -f, --format <fmt>    出力形式: text | json(既定: text)

利用される profile の情報を表示し、PAT が現在も有効かを API で確認します。

  • --profile 未指定時は、CDM_PATCDM_PROFILE → デフォルト profile の順で解決します。
  • PAT が無効な場合、exit 1 で終了します。

text 出力例:

Profile    work (default)
Pat        cdm_pat_TR0v***
Workspace  My Workspace (6653ebab5a1acaa5bd5422a5)
Account    user@example.com (671ef14b0d08cf6c657df7db)
Status     OK

json 出力例:

json
{
  "source": "default-profile",
  "profile": "work",
  "pat": "cdm_pat_TR0v***",
  "isDefault": true,
  "workspaceId": "6653ebab5a1acaa5bd5422a5",
  "workspaceName": "My Workspace",
  "accountId": "671ef14b0d08cf6c657df7db",
  "accountEmail": "user@example.com",
  "status": "OK"
}

profile 情報の更新

cdm auth refresh
  --all              登録済の全 profile を一括で更新
  --profile <name>   更新する profile を指定

profile に保存されているワークスペースやアカウントの情報を更新します。

  • --all を指定すると、登録済の全 profile を一括で更新します
  • --profile を指定すると、指定した profile を更新します
  • 更新対象の profile の PAT が無効な場合、その profile はスキップして処理を継続し、最後に1件以上の失敗があれば exit 1 で終了します
  • PAT 本体は更新されません。失効した PAT を差し替える場合は cdm auth login を利用してください

出力例:

$ cdm auth refresh --all
✔ work        updated
✔ personal    unchanged
✘ old-client  Error: Invalid token

$ cdm auth refresh --profile work
✔ work        unchanged

Codatum CLI AIエージェントのための分析環境