نظرات مطالب
احراز هویت و اعتبارسنجی کاربران در برنامه‌های Angular - قسمت اول - معرفی و ایجاد ساختار برنامه
این مشکل نیست. درخواست اول برای بررسی CORS است و درخواست دوم اصل کار. اگر کلاینت و سرور را بر روی یک آدرس و پورت اجرا کنید، چنین مساله‌ای رخ نخواهد داد.
نظرات مطالب
کار با SignalR Core از طریق یک کلاینت Angular
- CORS تنظیمات اضافه‌تری را نسبت به نکاتی که در مطلب جاری عنوان شد، نیاز ندارد.
- شما خطای internal server error را دارید که ممکن است به اشتباه به خطای CORS از طرف مرورگر تفسیر شود (مرورگر هر زمانیکه نتواند پاسخ مناسبی را از سرور دریافت کند و این سرور شرایط CORS را هم داشته باشد، بلافاصله خطای CORS را نمایش می‌دهد). در برگه‌ی network کنسول developer مرورگر، خروجی response را دقیقا بررسی کنید تا اصل خطا را مشاهده کنید. همچنین logging را هم در برنامه‌ی خودتان فعال کنید تا خطاهای سمت سرور را دقیقا دریافت کنید.
نظرات مطالب
پیاده سازی JSON Web Token با ASP.NET Web API 2.x
تغییر داده شده و به صورت دستی قابل استفاده است. اما جایی که به صورت ServiceLocator بازیابی می‌شود، خطای عدم رجیستر شدن این دو کلاس وجود دارد که مجبور به تزریق دستی آن شدم.
نکته بعدی جهت فعال سازی EnableCors چه کار خاصی باید انجام شود؟
من فعال سازی انجام دادم و در WebApiConfig برای همه کنترلرها فعال سازی انجام دادم اما آدرس login ظاهرا جز کنترلرها نیست این تنظیمات اعمال نمی‌شود و عملا برنامه بلا استفاده خواهد شد. قصد من استفاده از توکن بین چند دامنه خاص است. اما فعلا ازمایشی جهت استفاده همه دامنه‌ها فعال سازی انجام شده ولی در عمل کار نمی‌کند. و خطای CORS در مرورگر دریافت می‌شود.
جهت اعمال به آدرس لاگین چه باید کرد نمونه کد اعمال CORS
public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        var cors = new EnableCorsAttribute("*", "*", "*");
        config.EnableCors(cors);
        // ...
    }
}
نظرات مطالب
پیاده سازی JSON Web Token با ASP.NET Web API 2.x
- از این لحاظ تفاوتی با کوکی‌ها وجود ندارد (بحث باگ‌های XSS و استخراج کوکی‌ها).
+ ارسال درخواست از یک دومین دیگر به Web API نیاز به فعال سازی CORS در برنامه دارد. 
نظرات مطالب
Best Practice هایی برای طراحی RESTful API - قسمت اول
بحث cors یک چیز است و بحث Best Practice هایی برای طراحی RESTful API یک چیز .در کل زمانی که ما می‌خواهیم یک سرویس ارائه دهیم و باقی از آن استفاده کنند داستانش با یک متد که فقط خودمان از آن استفاده می‌کنیم فرق می‌کند.
باید به خیلی چیزها حواسمان باشد. 
اشتراک‌ها
دوره کار با Angular 16 توسط Web API و Entity Framework Core

Angular 16 CRUD with .NET 7 Web API using Entity Framework Core - Full Course

📑 Contents:
00:00:00 Video Introduction
00:00:40 Angular and ASP.NET Core Udemy Course Demo
00:03:07 Prerequisites
00:03:37 Setting Up Development Environment
00:15:37 Create ASP.NET Core Web API
00:20:07 Understanding Files and Folder Structure
00:25:37 Understanding REST and HTTP Verbs
00:30:10 Create .NET 6 Web API
00:32:41 Our Project and Domain Models
00:41:16 Installing Nuget Packages For Entity Framework Core
00:43:06 DbContext
00:59:26 Running EF Core Migrations
01:03:26 Create Controllers and Actions
01:23:46 Repository Pattern
01:36:46 Create New Angular Application using Angular CLI
01:50:09 Angular Components
02:13:29 CRUD in Angular and ASP.NET Core Web APIs
02:17:21 Angular Forms
02:26:59 Angular Services
02:38:09 CORS
02:42:09 Unsubscribing
 

دوره کار با Angular 16 توسط Web API و Entity Framework Core
نظرات مطالب
افزودن و اعتبارسنجی خودکار Anti-Forgery Tokens در برنامه‌های Angular مبتنی بر ASP.NET Core
ممنون از راهنماییتون

موارد رو انجام دادم، با توجه به جدا بودن دامین API و FRONT یه مشکلی برخورد کردم. 
با زدن درخواست کوکی XSRF-TOKEN ساخته میشه، ولی وقتی درخواست POST میزنم X-XSRF-TONEK توی هدر درخواست اضافه نمیشه
- XsrfInterceptor رو اضافه کردم، توی Module برنامه تعاریف رو انجام دادم
- سمت سرور اومدم کوکی رو به صورت زیر تغییر دادم:
var xsrfTokenCookie = new HttpCookie("XSRF-TOKEN")
{
     Value = ComputeXsrfTokenValue(),
     HttpOnly = false, // Now JavaScript is able to read the cookie
     Path = "/",
     Domain = "localhost"
};
- Cross Origin رو متناسب با دامنه فعال کردم
- حتی از طریق proxy.config آدرس API رو ست کردم
ولی متاسفانه باز جوابی نگرفتم. میخواستم ببینم نکته ای وجود داره که رعایت نکرده باشم در این زمینه؟