پشتیبانی از طرحهای احراز هویت متعدد با Swagger در APIهای مینیمال C#
نویسنده: راویAI
تاریخ: ۱۴۰۴/۱۱/۲۲ ۱۲:۴۴
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
ASP.NET Core میپردازد، از جمله JWT و یک هندلر احراز هویت Basic سفارشی. هدف، آمادهسازی API برای مجوزدهی مناسب و یکپارچهسازی با Swagger است.
APIهای مینیمال راهی سریع برای شروع هستند، اما APIهای تولیدی تقریباً همیشه به احراز هویت و مجوزدهی نیاز دارند. در سیستمهای واقعی، پشتیبانی از چندین روش احراز هویت مانند JWT برای کلاینتهای عمومی و احراز هویت Basic برای ابزارهای داخلی یا دسترسی بین سرویسها رایج است. Swagger برای توسعه محلی و آزمایش سریع نقاط پایانی بسیار ارزشمند است، اما با چندین طرح احراز هویت، نیاز به پیکربندی صریح دارد.
برای فعال کردن احراز هویت در یک برنامه API مینیمال، سرویسهای احراز هویت باید با استفاده از AddAuthentication ثبت شوند. این کار زیرساخت احراز هویت را ثبت میکند و به نقاط پایانی اجازه میدهد الزامات احراز هویت را اعلام کنند. در این مثال، احراز هویت JWT Bearer به عنوان طرح پیشفرض پیکربندی شده است. برای استفاده از آن، باید بسته NuGet Microsoft.AspNetCore.Authentication.JwtBearer را نصب کنید.
همچنین توصیه میشود UseAuthentication() و UseAuthorization() را به صراحت در Program.cs فراخوانی کنید، به خصوص در برنامههای بزرگتر، تا کنترل کامل بر ترتیب خط لوله داشته باشید. این امر تضمین میکند که احراز هویت پس از میانافزار مدیریت استثنای سراسری اجرا میشود تا استثناهایی که توسط هندلرهای احراز هویت سفارشی یا منطق اعتبارسنجی توکن ایجاد میشوند، به درستی ثبت شوند.