محتاج أي حد يكلم الـ Order Controller لازم يكون Authorize

انما هنشيل بتاع الـ Product لأنها مش منطقي انما المنطقي ان لما حد يعمل Order او اي حاجة من دي لازم يكون Authorize

فممكن اعمل كل Endpoint تكون Authorize بس الصح لو الكنترولر كله اجي على الكونترولر من فوق واعمل Authorize والـ Default بتكون AllowAnonymous فانا هعملها فوق ولو فيه Endpoint جواها عايزها تبقا عادي بعملها AllowAnonymous

ودلوقتي برضو مش لازم يبعت Email لأنه ببعت توكين وجواه بيكون الـ Email من ضمن الـ Claims

فهروح على الـ OrderDto واشيل الـ Email

بس هجيب الـ Email ازاي؟ عندنا Property اسمها User ودي بتجيب الـ Claims بتاع الـ User جبتها منين؟ انا ورثتها من الـ BaseApiController اللي ورث من الـ ControllerBase وهو بيجيبها من الـ HttpContext من الـ Action اللي بيتنفذ دلوقتي

var buyerEmail = User.FindFirstValue(ClaimTypes.Email);
// Change it in all Endpoint
// Inside Endpoint

ونعمل نفس الحوار مع كل الـ Endpoints

نعدي على كل واحد ونشوف اللي بياخد Email ونمسحه

اللي بعدها مش هخليه يبعتلي الايميل اصلا