لدي مشروع ASP.NET Core Web API خفيف الوزن. ليس له واجهة أمامية ، وبالتالي لا يحتاج إلى معظم ما تم تجميعه مع حزمة Microsoft.AspNetCore.Mvc
. يمكنني بشكل عام استخدام حزمة Microsoft.AspNetCore.Mvc.Core
بدلاً من ذلك.
باستثناء أنني بحاجة إلى مصادقة AAD ، وعندما أسحب Microsoft.AspNetCore.Authentication.AzureAD.UI
فإنه يأخذ Microsoft.AspNetCore.Mvc
كتبعية ...
بالنظر إلى الكود ، يبدو أن هناك بعض وحدات التحكم وطرق عرض Razor المجمعة مسبقًا متضمنة ، لذلك أنا أفهم سبب حاجتك إلى حزمة Mvc
الكاملة لدعم هؤلاء.
سيكون من الرائع أن تتمكن من فصل مصادقة AAD الأساسية عن مكونات واجهة المستخدم ، بحيث لا يحتاج أولئك منا الذين لا يحتاجون إلى واجهة المستخدم إلى الاعتماد على حزمة Mvc الكبيرة. شيء من هذا القبيل ربما:
Microsoft.AspNetCore.Authentication.AzureAD.UI
Microsoft.AspNetCore.Mvc
Microsoft.AspNetCore.Authentication.AzureAD.Core
Microsoft.AspNetCore.Authentication.Cookies
Microsoft.AspNetCore.Authentication.JwtBearer
Microsoft.AspNetCore.Authentication.OpenIdConnect
شكرا.
يتم الإغلاق بسبب عدم وجود خطط لإجراء أي تغييرات على هذا. جزء واجهة المستخدم هو الجزء الأكبر مما يوجد في هذه الميزة ، لذلك إذا قمنا بتقسيم ذلك ، فلن يتبقى أي شيء تقريبًا.
Eilon - لا يزال مفيدًا بدون طرق عرض واجهة المستخدم لمشاريع WebAPI. في بلدنا ، لدي:
services.AddAuthentication(AzureADDefaults.AuthenticationScheme)
.AddAzureAD(options => Configuration.Bind("AzureAd", options))
.AddAzureADBearer(options => Configuration.Bind("AzureAd", options));
كيف أفعل المعادل بدون حزمة Microsoft.AspNetCore.Authentication.AzureAD.UI
؟
لإلغاء حظر فريقي ، قمت بنسخ المصدر مؤقتًا محليًا وإزالة مكونات واجهة المستخدم. إنه يعمل بشكل جيد ، ولكن الآن هذا الرمز خارج النطاق للصيانة المستقبلية. سيكون من الجيد أن يتم بناؤه بهذه الطريقة بشكل طبيعي.
@ mj1856 مفهوم ، ولكن في هذا الوقت لا توجد خطط لذلك بسبب النقص العام في الطلب ، وبالتالي فإن الأولوية منخفضة للغاية.