---
title: ログインと個人トークン
description: CLI からブラウザのログインを使い、本人用の個人トークンを発行する手順。
---

社外のアカウントによる利用は準備中です。以下は組織内のアカウントで CLI を使うための技術的な手順です。

## ログインの流れ

`cr login` は、CLI とブラウザの間をループバックでつなぎます。トークンの値を URL に載せず、ブラウザでの許可が終わった後に CLI がコードを交換します。

```bash
cr login --scope comments --name review-agent
```

実行すると、次の順で処理されます。

1. CLI がランダムな `state`、PKCE の `challenge`、ループバックの port を作り、`GET /auth/cli/start` へ移動します。
2. ブラウザで Google にログインし、CLI の名前と範囲を確認して許可します。すでにログイン済みなら、確認画面へ進みます。
3. 確認後、`POST /auth/cli/confirm` が 1 回だけ使える短時間のコードを `127.0.0.1` の CLI へ返します。
4. CLI が `POST /api/auth/cli/token` にコードと `verifier` を送り、個人トークンを受け取ります。
5. CLI がトークンを接続先とプロファイルに結び付けて保存し、以後の API 要求に Bearer として使います。

確認のコードは 1 回しか交換できず、短時間で期限切れになります。コードの失敗は `400 invalid_login_code` です。CLI が戻りを受け取れない場合は、同じログインをやり直してください。

## 範囲を選ぶ

発行した後に範囲を変更することはできません。別の範囲が必要な場合は、新しい個人トークンを発行します。

```bash
cr login --scope docs,access,comments --name review-agent
cr login --scope comments --profile agent --name comment-agent
```

| 範囲 | 使える書き込み |
|---|---|
| `docs` | 文書の作成・配信、版の追加、題名の変更、削除 |
| `access` | 共有状態、招待、招待の削除、役割の変更 |
| `comments` | コメント、返信、解決、再オープン、AI レビューの操作 |

`--scope` を省略すると `comments` だけになります。読み取り、本人情報、個人トークンの一覧・取り消しは、どの範囲でも使えます。

## 保存先と接続先

macOS では Keychain、それ以外の環境では権限を制限した資格情報ファイルへ保存します。CLI は接続先の origin と `--profile` の組ごとに資格情報を分けます。

```bash
cr --origin https://comment-review.fsmarketing.workers.dev --profile agent whoami
CR_TOKEN="$CR_TOKEN" cr --origin https://comment-review.fsmarketing.workers.dev docs list --json
```

`CR_TOKEN` が設定されている場合は、保存済みの資格情報より優先します。保存済みの値を別の origin へ送ることはありません。別の接続先を使うときは、その origin を指定してログインするか、対象専用の `CR_TOKEN` を渡してください。

## 確認と取り消し

```bash
cr whoami
cr tokens list
cr tokens revoke pt_example01
cr logout
```

個人トークンは発行から 90 日で期限切れになります。残り 14 日以下になると、CLI は標準エラーへ更新の案内を出します。取り消したトークンは次の API 要求から使えません。

個人トークンの API を直接呼ぶ場合は、[トークンと認証](/auth)の `$CR_TOKEN` の例を使ってください。CLI のコマンド一覧は [CLI（cr）](/cr)にあります。
