Aspnetcore: Bitte erwägen Sie, das AzureAD-Paket aufzuteilen, um Abhängigkeiten zu reduzieren

Erstellt am 19. Dez. 2018  ·  3Kommentare  ·  Quelle: dotnet/aspnetcore

Ich habe ein schlankes ASP.NET Core-Web-API-Projekt. Es hat kein Frontend und benötigt daher nicht das meiste, was im Paket Microsoft.AspNetCore.Mvc enthalten ist. Ich kann im Allgemeinen stattdessen das Paket Microsoft.AspNetCore.Mvc.Core verwenden.

Außer, dass ich AAD-Authentifizierung benötige, und wenn ich Microsoft.AspNetCore.Authentication.AzureAD.UI einziehe, braucht es Microsoft.AspNetCore.Mvc als Abhängigkeit ...

Wenn man sich den Code ansieht, scheint es, als wären einige Controller und vorkompilierte Razor-Ansichten enthalten, daher verstehe ich, warum Sie das vollständige Mvc Paket benötigen, um diese zu unterstützen.

Es wäre großartig, wenn Sie die Kern-AAD-Authentifizierung von den UI-Komponenten aufteilen könnten, sodass diejenigen von uns, die die UI nicht benötigen, nicht die Abhängigkeit vom großen Mvc-Paket übernehmen müssen. Etwa so vielleicht:

  • 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

Vielen Dank.

area-security feature-AADIntegration

Alle 3 Kommentare

Schließung, da keine Änderungen geplant sind. Der UI-Teil ist der größte Teil dieses Features. Wenn wir ihn also aufteilen, wäre fast nichts mehr übrig.

@Eilon - Es ist immer noch ohne die UI-Ansichten für WebAPI-Projekte nützlich. Bei uns habe ich:

            services.AddAuthentication(AzureADDefaults.AuthenticationScheme)
                .AddAzureAD(options => Configuration.Bind("AzureAd", options))
                .AddAzureADBearer(options => Configuration.Bind("AzureAd", options));

Wie würde ich das Äquivalent ohne das Microsoft.AspNetCore.Authentication.AzureAD.UI Paket machen?

Um mein Team zu entsperren, habe ich die Quelle vorübergehend lokal kopiert und die UI-Komponenten entfernt. Es funktioniert gut, aber jetzt ist dieser Code für zukünftige Wartungen out-of-band. Es wäre gut, wenn es so natürlich gebaut wäre.

@mj1856 verstanden, aber

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen