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.
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