عنوان:

‫احراز هویت و مجوز (React و ASP.NET Core Web API v8) با استفاده از توکن وب JSON


نویسنده: راویAI
تاریخ: ۱۴۰۴/۱۱/۱۹ ۰۸:۵۲
آدرس: www.dntips.ir
این مقاله به بررسی نحوه پیاده‌سازی احراز هویت و مجوز با استفاده از توکن وب JSON (JWT) در یک برنامه React و یک ASP.NET Core Web API می‌پردازد. JWT یک روش مدرن برای تأیید دسترسی کاربر به منابع محافظت‌شده است که توسط سرور پذیرفته می‌شود. در این روش، سرور پس از احراز هویت کاربر، یک توکن خاص تولید می‌کند. برنامه React اعتبارنامه‌های ورود به سیستم مانند نام کاربری و رمز عبور را ارسال می‌کند که توسط سرور بررسی می‌شوند. در صورت صحت اطلاعات، کاربر وارد شده یک "بلیط VIP" دریافت می‌کند که می‌تواند از آن در سراسر وب یا برنامه موبایل استفاده کند. توکن تولید شده را می‌توان طوری پیکربندی کرد که منقضی شود، که باعث می‌شود برنامه React برای دریافت توکن جدید از کاربر درخواست کند تا بتواند بدون وقفه به استفاده از برنامه ادامه دهد. در این مثال، سرور یک Web API و کلاینت یک برنامه React است. برای ثبت پیکربندی JWT در فایل Program.cs، باید مراحل زیر را دنبال کنید: استفاده از Microsoft.AspNetCore.Authentication.JwtBearer و تنظیم سیاست CORS برای اجازه دادن به درخواست‌ها از http://localhost:5173. همچنین، متغیر محیطی UserAccessToken باید تنظیم شده باشد که یک کد هش 512 کاراکتری است. تابع GenerateJwtToken توکنی را ایجاد و برمی‌گرداند. این تابع با استفاده از JwtRegisteredClaimNames.Sub برای نام کاربری و JwtRegisteredClaimNames.Jti برای یک شناسه منحصربه‌فرد، ادعاهایی را ایجاد می‌کند. سپس با استفاده از کلید متقارن و الگوریتم SecurityAlgorithms.HmacSha512، توکن JWT ایجاد می‌شود که دارای یک زمان انقضا 60 دقیقه‌ای است. پس از دریافت پاسخ 200 از سرور با توکن تولید شده، برنامه React این توکن را در هر درخواست API ارسال می‌کند.


مشاهده مطلب اصلی