{"area":"entra-oauth","description":"Microsoft Entra ID の OAuth 2.0 を生の HTTP 要求で実演する検証エリア（クライアント資格情報フロー / 認証コードフロー(PKCE) をトグル切替）。認証はこのエリア内だけで完結し、他ページは匿名アクセスのまま。","authority":"https://login.microsoftonline.com/organizations","clientIdConfigured":false,"clientSecretConfigured":false,"redirectUri":"https://uranoasd.com/entra-oauth/auth-code/callback","endpoints":[{"title":"エリアランディング","path":"/entra-oauth/","method":"GET","description":"2 つのフローをトグル切替する入口"},{"title":"設定状態","path":"/entra-oauth/api/config","method":"GET","description":"tenant / client_id / redirect_uri などの設定状態（シークレット値は返さない）"},{"title":"Easy Auth 設定状態","path":"/entra-oauth/api/easy-auth","method":"GET","description":"GET — App Service authsettingsV2 の platform.enabled と provider 状態を表示"},{"title":"Easy Auth モード切替","path":"/entra-oauth/api/easy-auth","method":"POST","description":"POST { enabled, mode, controlKey } — Easy Auth 有効化 / Easy Auth x Application Gateway モード / 無効化を Portal 反映される形で更新"},{"title":"クライアント資格情報 — トークン取得","path":"/entra-oauth/api/client-credentials/token","method":"POST","description":"POST { scope? } — app-only アクセストークンを取得しクレームをデコード"},{"title":"認証コード — サインイン開始","path":"/entra-oauth/auth-code/start","method":"GET","description":"PKCE + state 付きで /authorize にリダイレクト"},{"title":"認証コード — コールバック","path":"/entra-oauth/auth-code/callback","method":"GET","description":"code を /token に引き換えてトークン/クレームを表示（リダイレクト先）"}]}