Saya memiliki proyek ASP.NET Core Web API yang ringan. Itu tidak memiliki ujung depan, dan karenanya tidak membutuhkan sebagian besar dari apa yang dibundel dengan paket Microsoft.AspNetCore.Mvc
. Saya biasanya dapat menggunakan paket Microsoft.AspNetCore.Mvc.Core
sebagai gantinya.
Kecuali bahwa saya memerlukan otentikasi AAD, dan ketika saya menarik Microsoft.AspNetCore.Authentication.AzureAD.UI
dibutuhkan Microsoft.AspNetCore.Mvc
sebagai ketergantungan...
Melihat melalui kode, sepertinya ada beberapa pengontrol dan tampilan Razor yang telah dikompilasi sebelumnya disertakan, jadi saya mengerti mengapa Anda memerlukan paket Mvc
untuk mendukungnya.
Akan sangat bagus jika Anda dapat memisahkan autentikasi inti AAD dari komponen UI, sehingga kita yang tidak memerlukan UI tidak perlu bergantung pada paket Mvc besar. Sesuatu seperti ini mungkin:
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
Terima kasih.
Penutupan karena tidak ada rencana untuk melakukan perubahan apa pun pada ini. Bagian UI adalah bagian terbesar dari fitur ini, jadi jika kita membaginya, hampir tidak ada yang tersisa.
@Eilon - Ini masih berguna tanpa tampilan UI untuk proyek WebAPI. Di kami, saya punya:
services.AddAuthentication(AzureADDefaults.AuthenticationScheme)
.AddAzureAD(options => Configuration.Bind("AzureAd", options))
.AddAzureADBearer(options => Configuration.Bind("AzureAd", options));
Bagaimana saya melakukan yang setara tanpa paket Microsoft.AspNetCore.Authentication.AzureAD.UI
?
Untuk membuka blokir tim saya, saya sementara menyalin sumber secara lokal dan menghapus komponen UI. Ini berfungsi dengan baik, tetapi sekarang kode ini sudah tidak berlaku untuk pemeliharaan di masa mendatang. Akan lebih baik jika dibangun dengan cara ini secara alami.
@mj1856 mengerti, tetapi saat ini masih belum ada rencana untuk ini karena kurangnya permintaan secara umum, jadi prioritasnya terlalu rendah.