Início Rápido: Adicionar entrada com a Microsoft para um aplicativo Web do ASP.NET Core

Seja bem-vindo! Essa provavelmente não é a página que você esperava. Enquanto trabalhamos em uma correção, este link direcionará você para o artigo certo:

Início Rápido: Adicionar entrada com a Microsoft para um aplicativo Web do ASP.NET Core

Pedimos desculpas pela inconveniência e agradecemos sua paciência enquanto trabalhamos para resolver isso.

Nesse início rápido, você baixará e executará um exemplo de código que demonstra como um aplicativo Web ASP.NET Core pode conectar usuários de qualquer organização do Microsoft Entra.

Etapa 1: Configurar seu aplicativo no portal do Azure

Para que o exemplo de código deste guia de início rápido funcione:

  • Em URI de redirecionamento, insira https://localhost:44321/ e https://localhost:44321/signin-oidc .
  • Em URL de logoff de front-channel, insira https://localhost:44321/signout-oidc.

O ponto de extremidade da autorização emitirá tokens de ID de solicitação.

Already configured Esses atributos já estão configurados no seu aplicativo.

Etapa 2: Baixar o projeto do ASP.NET Core

Execute o projeto.

Dica

Para evitar erros causados por limitações de comprimento do caminho no Windows, é recomendável extrair os arquivos em um diretório próximo à raiz da unidade.

Etapa 3: seu aplicativo está configurado e pronto para ser executado

Configuramos o seu projeto com os valores das propriedades do aplicativo e ele está pronto para ser executado.

Observação

Enter_the_Supported_Account_Info_Here

Mais informações

Esta seção apresenta uma visão geral do código necessário para a entrada de usuários. Essa visão geral pode ser útil para entender como o código funciona, quais são os argumentos principais e como adicionar credenciais a um aplicativo ASP.NET Core existente.

Como o exemplo funciona

Diagram of the interaction between the web browser, the web app, and the Microsoft identity platform in the sample app.

Classe de inicialização

O middleware Microsoft.AspNetCore.Authentication usa a classe Startup executada quando o processo de hospedagem é iniciado:

public void ConfigureServices(IServiceCollection services)
{
    services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
        .AddMicrosoftIdentityWebApp(Configuration.GetSection("AzureAd"));

    services.AddControllersWithViews(options =>
    {
        var policy = new AuthorizationPolicyBuilder()
            .RequireAuthenticatedUser()
            .Build();
        options.Filters.Add(new AuthorizeFilter(policy));
    });
   services.AddRazorPages()
        .AddMicrosoftIdentityUI();
}

O método AddAuthentication() configura o serviço para adicionar a autenticação baseada em cookie. Essa autenticação é usada em cenários do navegador e para definir o desafio para OpenID Connect.

A linha que contém .AddMicrosoftIdentityWebApp adiciona a autenticação de plataforma de identidade da Microsoft ao seu aplicativo. O aplicativo é configurado para conectar usuários com base nas seguintes informações na seção AzureAD do arquivo de configuração appsettings.json:

chave appsettings.json Descrição
ClientId ID do aplicativo (cliente) referente ao aplicativo registrado no portal do Azure.
Instance Ponto de extremidade do STS (serviço de token de segurança) para o usuário se autenticar. Esse valor geralmente é https://login.microsoftonline.com/, indicando a nuvem pública do Azure.
TenantId Nome do seu locatário ou da ID de locatário (um GUID) ou common para conectar usuários que tenham contas corporativas ou de estudante ou contas pessoais Microsoft.

O método Configure() contém dois métodos importantes, app.UseAuthentication() e app.UseAuthorization(), que habilitam sua funcionalidade nomeada. Além disso, no método Configure(), você precisará registrar as rotas da Web de Identidade da Microsoft com, pelo menos, uma chamada para endpoints.MapControllerRoute() ou uma chamada para endpoints.MapControllers():

app.UseAuthentication();
app.UseAuthorization();

app.UseEndpoints(endpoints =>
{
    endpoints.MapControllerRoute(
        name: "default",
        pattern: "{controller=Home}/{action=Index}/{id?}");
    endpoints.MapRazorPages();
});

Atributo para proteger um controlador ou métodos

Você pode proteger um controlador ou métodos do controlador usando o atributo [Authorize]. Esse atributo restringe o acesso ao controlador ou aos métodos permitindo apenas usuários autenticados. Um desafio de autenticação poderá ser iniciado para acessar o controlador se um usuário não estiver autenticado.

Ajuda e suporte

Se precisar de ajuda, quiser relatar um problema ou desejar saber mais sobre as opções de suporte, confira Ajuda e suporte para desenvolvedores.

Próximas etapas

O repositório GitHub que contém este tutorial do ASP.NET Core inclui instruções e mais exemplos de código que mostram como:

  • Adicione a autenticação a um novo aplicativo Web ASP.NET Core.
  • Chame o Microsoft Graph, outras APIs da Microsoft ou as suas APIs Web.
  • Adicione a autorização.
  • Conecte usuários em nuvens nacionais ou com identidades sociais.