از ماه ژوئن تا امروز، توسعه‌دهندگان هزاران OAuth app شخص ثالث را روی Cloudflare ساخته‌اند و از آن زمان تاکنون، بیش از یک میلیون authorization ثبت شده است. 🔐

OAuth امکان delegated access را فراهم می‌کند؛ یعنی اپلیکیشن‌ها می‌توانند به‌جای کاربر عمل کنند، بدون اینکه لازم باشد user password یا long-lived credentials در اختیارشان قرار بگیرد. این مدل وقتی خوب کار می‌کند که اپلیکیشن بتواند نیازهای دسترسی خودش را با مجموعه‌ای کوچک از scope ها توضیح بدهد.

توسعه‌دهندگان از OAuth برای SaaS integration، ابزارهای داخلی، CLI و agent ها استفاده می‌کنند. مدل permission در Cloudflare هم به‌مرور granular تر شده تا این workflow های مختلف بهتر پشتیبانی شوند. این موضوع از نظر security مزیت بزرگی است، اما در عوض توجیه یک consent screen کاملاً all-or-nothing را سخت‌تر می‌کند. 🛡️

در Cloudflare OAuth از قبل این امکان وجود داشت که client فقط بخشی از scope های تنظیم‌شده خودش را درخواست کند. اما بعد از ارسال request، کاربر دیگر نمی‌توانست روی consent screen آن را دقیق‌تر محدود کند. برای کاربر، تجربه همچنان شبیه یک انتخاب همه‌چیز یا هیچ‌چیز بود. اگر یک application دسترسی بیشتری از حد راحتی کاربر می‌خواست، تنها راه این بود که یا کل درخواست تأیید شود یا به‌طور کامل رد شود.

MCP server ها نمونه خوبی برای این وضعیت هستند. یک MCP server ممکن است مجموعه بزرگی از permission ها را درخواست کند، چون از نظر تئوری agent می‌تواند از همه آن‌ها استفاده کند. اما در عمل، بیشتر کاربران نمی‌خواهند یک agent چنین سطح گسترده‌ای از access داشته باشد. قبل از این قابلیت، تنها راه‌حل این بود که developer اپلیکیشن یک custom scope model طراحی کند. 🧩