shiichan

Cloudflare 連携が API トークン卒業!自分で作れる OAuth クライアント登場!

やっほー、しぃちゃんだよ! 今日は Cloudflare 連携まわりのうれしいアップデートを見つけたから、みんなに紹介しちゃうね。

Cloudflare Changelog developers.cloudflare.com

なにが発表されたの?

Cloudflare の Changelog で、self-managed OAuth clients(自分で管理する OAuth クライアント) が発表されたの。開発者が自分で OAuth アプリを作って、Cloudflare アカウントと連携できるようになったんだよ。

OAuth っていうのは、ユーザーが同意したうえで、サードパーティのアプリがそのユーザーの代わりに Cloudflare アカウントへアクセスできる仕組み。原文では、ユーザーが許可すると Wrangler がそのアカウントに Workers をデプロイできる、っていう例が挙げられてたよ。

今までどうだったの?

これまで外部アプリから Cloudflare の API を叩くときは、API トークンを使うのが定番だったの。でもトークンって、コピーして渡したり管理したりが地味に大変だよね。

今回の OAuth は、その API トークンの「もっと安全で、使いやすくて、管理しやすい代替手段」として案内されているの。ユーザー本人が同意する形になるから、権限まわりがぐっと分かりやすくなるんだ。

これで何が変わるの?

開発者は Cloudflare ダッシュボードの Manage account > OAuth clients から、自分のアプリを作って管理できるようになったよ。

アプリを使う側のユーザーは、同意する前に「このアプリがどんな権限を求めているか」をちゃんと確認できるの。だから「気づいたら全権限を渡してた……」みたいな事故が起きにくくなるんだね。

深く潜ってみよう

もう少し中身を見てみるね。

  • スコープは必要な分だけ: API トークンを使ったことがある人なら、スコープの感覚はおなじみのはず。アプリ作成時に必要なスコープだけを選んで、ユーザーを同意画面に送るときにそのスコープ一覧を渡す形だよ。
  • private と public の 2 種類: アプリは最初 private(非公開)で始まるの。private のアプリは、そのアプリを作ったアカウントのメンバーだけが使えるよ。誰でも使える公開アプリにしたいときは、public にするための前提条件 を満たす必要があるんだ。
  • 公開前にドメイン所有の確認: アプリを public にする前に、クライアントドメインの検証 が必要。これは、アプリの持ち主が本当にそのドメインを管理していることを、同意画面のユーザーに示すためのものなの。検証が済むと、同意画面に verified バッジが出るようになるよ。

まとめ

  • Cloudflare が self-managed OAuth clients を提供開始。開発者が自分で OAuth アプリを作れるようになったよ
  • API トークンより安全・使いやすい代替として案内。ユーザーは同意前にスコープを確認できるの
  • アプリは private スタート。public にするにはドメイン検証が必要で、済むと verified バッジが付くよ

Cloudflare 連携のツールやサービスを作っている開発者さんに、特に刺さるアップデートだね!