CORS مخفف Cross-Origin Resource Sharing و سازوکاری مبتنی بر Headerهای HTTP است که مشخص میکند مرورگر چه درخواستها و پاسخهایی را میان مبداهای مختلف در دسترس JavaScript قرار دهد.
از تعریف تا کاربرد
اگر Front End روی دامنهای و API روی دامنه دیگر اجرا شود، سرور API باید مبداهای مجاز را متناسب با سیاست امنیتی خودش اعلام کند.
CORS یک سیستم احراز هویت یا مجوزدهی عمومی نیست. محدودیت آن عمدتاً در مرورگر اعمال میشود و درخواستهای سمت سرور تابع همان سیاست مرورگر نیستند.
نمونه هدرهای CORS
Access-Control-Allow-Origin: https://shop.baversion.com
Access-Control-Allow-Methods: GET, POST
Access-Control-Allow-Headers: Content-Type, Authorization
CORS توسط مرورگر برای درخواستهای Cross-Origin اعمال میشود و جایگزین Authentication یا Authorization نیست. استفاده همزمان از * برای Origin و Allow-Credentials=true معتبر نیست.