メンバー評価 API
これは何か
「この人はこのサークルのメンバーか?」という問いに答える API です。
Cloudflare Access という外部の認証システムと連携して使います。たとえば「サークルAのメンバーだけがアクセスできる内部ページ」を作りたいとき、Cloudflare Access がこの API を呼び出して「このメールアドレスの人はサークルAのメンバーか?」を確認し、メンバーであればアクセスを許可、そうでなければ拒否します。
Happa はサークルのメンバー情報を持っているため、この判定を担うことができます。
仕組み(技術的な詳細を知らなくていい人向けの説明)
ユーザーが「サークルAの内部ページ」にアクセスしようとする
↓
Cloudflare Access が「このページはサークルAのメンバー専用」と確認する
↓
Cloudflare Access が Happa に問い合わせる
「このメールアドレスの人はサークルAのメンバーですか?」
↓
Happa(メンバー評価 API)が Happa のメンバー情報を確認して答える
「はい、メンバーです」または「いいえ、メンバーではありません」
↓
Cloudflare Access がアクセスを許可または拒否する
誰が使うか
- Cloudflare Access(外部認証システム):自動的に呼び出す。人間が直接使うものではない。
できなければならないこと
- Cloudflare Access からのリクエストを受け取り、メンバーシップを判定して結果を返せる
- 結果は Cloudflare Access の仕様に従った形式(RSA 署名付き JWT)で返せる
できてはいけないこと
- この API を通じてメンバーシップ情報を書き込むこと。読み取り・判定専用。
- Happa に存在しないメールアドレスを「メンバーである」と判定すること
- 実際にはメンバーでない人を「メンバーである」と誤判定すること
- 判定結果を署名なしで返すこと。署名がないと Cloudflare Access が結果を信頼できない。