فرض کنید API شما این درخواست را دریافت میکند:
GET /api/users/125/orders
اگر فقط بررسی کنید که User شماره 125 وجود دارد، کافی نیست.
سؤال مهم این است:
آیا کاربر فعلی اجازه مشاهده سفارشهای User 125 را دارد؟
این همان جایی است که مفهوم Broken Object Level Authorization (BOLA) مطرح میشود.
شناسه را نمیتوان بهعنوان مجوز در نظر گرفت.
❌ user_id = 125
≠
✅ «کاربر فعلی اجازه دسترسی به User 125 را دارد»
در APIهای واقعی، Authentication فقط میگوید «تو کی هستی».
اینجاست که Authorization مشخص میکند:
«به چه چیزی اجازه دسترسی داری؟»
این دو را هیچوقت یکی نگیرید.
@CodeVerse_dev