Aspnetcore: Harap pertimbangkan untuk memisahkan paket AzureAD untuk mengurangi ketergantungan

Dibuat pada 19 Des 2018  ·  3Komentar  ·  Sumber: dotnet/aspnetcore

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.

area-security feature-AADIntegration

Semua 3 komentar

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.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat