# Wrangler の auth profiles で複数アカウントをらくらく切り替え！

やっほー、しぃちゃんだよ！ 今日は Wrangler を使ってるみんなに、地味だけどすっごく助かるアップデートを持ってきたよ。複数の Cloudflare アカウントを行ったり来たりする人には、特に朗報なの！

## なにが発表されたの？

Cloudflare の Changelog で、[Wrangler CLI](https://developers.cloudflare.com/workers/wrangler/) に「auth profiles(認証プロファイル)」が追加されたって発表があったよ。

これは、特定の Cloudflare アカウントにひも付けた「名前付きログイン」のこと。作業しているディレクトリに応じて、使うアカウントを自動で切り替えてくれるの。プロファイルは OAuth ログインをディレクトリに結びつけたもので、そのディレクトリとサブディレクトリで動かしたコマンドは、対応するアカウントを使うようになるんだよ。

## 今までどうだったの？

これまでは、別のアカウントで作業したくなるたびに `wrangler login` をやり直す必要があったの。エージェンシーで複数のクライアントを掛け持ちしてたり、ステージングと本番を別アカウントに分けてたりすると、切り替えのたびにログインし直し……ちょっと面倒だったよね。

## これで何が変わるの？

auth profiles を使えば、`wrangler login` をやり直さずにアカウント間を移動できるようになるの。

- エージェンシーで働くなら、クライアントごとに別々のログインを保てる
- ステージングと本番を、それぞれ別アカウントに分けて管理できる

しかもプロファイルは、間違ったアカウントにコマンドが届かないようにするガードにもなるんだよ。

## 深く潜ってみよう

使い方はこんな感じ。まずアカウントごとにプロファイルを作って、ディレクトリに割り当てるよ。

```sh
# アカウントごとにプロファイルを作成
wrangler auth create client-a
wrangler auth activate client-a ~/clients/client-a

wrangler auth create client-b
wrangler auth activate client-b ~/clients/client-b
```

一回だけ特定のプロファイルでコマンドを動かしたいときは、`--profile` フラグを使えばいいの。

```sh
wrangler deploy --profile personal
```

さらに安全に使うコツとして、[Wrangler の設定ファイル](https://developers.cloudflare.com/workers/wrangler/configuration/) の `account_id` とプロファイルを組み合わせると、コマンドが間違ったアカウントに届かないようにできるよ。

ひとつ注意なのは、CI やその他の自動化された環境では、`CLOUDFLARE_API_TOKEN` 環境変数がすべてのプロファイルより優先されること。CI では今まで通り環境変数で動くから安心してね。

セットアップの手順や解決の優先順位、コマンドの全リファレンスは [認証プロファイル](https://developers.cloudflare.com/workers/wrangler/profiles/) のドキュメントにまとまってるよ。

## まとめ

- Wrangler CLI に auth profiles が追加、アカウントにひも付いた名前付きログインを作れる
- ディレクトリに応じて使うアカウントを自動で切り替え、`wrangler login` のやり直しが不要に
- `--profile` フラグで単発のコマンドだけプロファイル指定も可能
- `account_id` と組み合わせれば、間違ったアカウントへの操作を防げる
- CI では `CLOUDFLARE_API_TOKEN` が優先

複数の Cloudflare アカウントを掛け持ちしている Workers 開発者や、クライアントワークのエージェンシーの人にぴったりのアップデートだよ！
