OAuth スコープ、必須と任意にキッチリ分離!
こんにちは、しぃちゃんだよ!今日は Cloudflare の OAuth まわりの更新を見つけたよ。細かいけど、地味に効くやつだから紹介するね!
Cloudflare Changelogなにが発表されたの?
Cloudflare の Changelog に、「Optional OAuth Scopes」が GA(一般提供)になったという発表が載ったよ。Cloudflare の OAuth クライアント開発者は、設定したスコープを「必須(required)」と「任意(optional)」に分類できるようになったんだって。デフォルトでは、これまで通りすべてのスコープが必須のまま扱われるよ。
今までどうだったの?
今までの Cloudflare の OAuth では、アプリが要求するスコープは全部まとめて「必須」扱いだったの。だからユーザーは、アプリの同意画面で「全部許可する」か「全部拒否する」かの二択しかなかったんだよね。
これで何が変わるの?
開発者が OAuth クライアントの設定時にスコープを「必須」「任意」に分けておくと、同意画面ではユーザーが必須スコープはそのまま承認しつつ、任意スコープだけを個別に拒否できるようになるよ。アプリ・CLI・ワークロードに対して、最小権限の原則を適用しやすくなるってわけ。任意スコープは、同意画面でデフォルトで選択された状態になっているよ。
深く潜ってみよう
同意画面まわりには、開発者と利用者どちらにも嬉しいアップデートが入ってるよ。
- テンプレート機能: 「Read Only」「Full Access」のテンプレートが追加されて、スコープ選択がすぐできるようになった
- 検索機能: 同意画面でスコープを検索できるようになった
設定は Cloudflare ダッシュボードから行えるよ。既存の OAuth クライアントには影響がなくて、明示的に「任意」と指定したスコープだけがユーザー側で個別に選べるようになる形だから、既存アプリの挙動はそのまま保たれるみたい。
まとめ
- OAuth のスコープを「必須」「任意」に分けて設定できるようになった(GA)
- 今までは全スコープが必須で、同意は全部か・ゼロかの二択だった
- 任意スコープはユーザーが同意画面で個別に拒否できる
- 「Read Only」「Full Access」テンプレートとスコープ検索も追加
Cloudflare 上で OAuth クライアントを開発・運用しているエンジニアさんは要チェックだよ!