Aspnetcore: Considere dividir o pacote AzureAD para reduzir as dependências

Criado em 19 dez. 2018  ·  3Comentários  ·  Fonte: dotnet/aspnetcore

Eu tenho um projeto leve ASP.NET Core Web API. Ele não tem front end e, portanto, não precisa da maior parte do que está incluído no pacote Microsoft.AspNetCore.Mvc . Geralmente, posso usar o pacote Microsoft.AspNetCore.Mvc.Core .

Exceto que eu preciso de autenticação AAD, e quando eu puxo Microsoft.AspNetCore.Authentication.AzureAD.UI ele leva Microsoft.AspNetCore.Mvc como uma dependência ...

Olhando através do código, parece que alguns controladores e visualizações Razor pré-compiladas estão sendo incluídos, então eu entendo porque você precisa do pacote Mvc completo para suportá-los.

Seria ótimo se você pudesse separar a autenticação do AAD principal dos componentes da IU, de forma que aqueles de nós que não precisam da IU não precisem assumir a dependência do grande pacote Mvc. Algo assim talvez:

  • 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

Obrigado.

area-security feature-AADIntegration

Todos 3 comentários

Fechando porque não há planos de fazer alterações. A parte da interface do usuário é a maior parte do que há neste recurso, então se dividirmos isso, não sobraria quase nada.

@Eilon - ainda é útil sem as visualizações da IU para projetos WebAPI. No nosso tenho:

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

Como eu faria o equivalente sem o pacote Microsoft.AspNetCore.Authentication.AzureAD.UI ?

Para desbloquear minha equipe, copiei temporariamente a fonte localmente e removi os componentes da IU. Funciona bem, mas agora esse código está fora da banda para manutenção futura. Seria bom se fosse construído dessa forma naturalmente.

@ mj1856 entendido, mas neste momento ainda não há planos para isso devido à falta geral de demanda, então a prioridade é muito baixa.

Esta página foi útil?
0 / 5 - 0 avaliações