Guia de início rápido: adicionar entrada com a Microsoft a um aplicativo Web ASP.NET Core

Boas-vindas! Esta provavelmente não é a página que você estava esperando. Enquanto trabalhamos em uma correção, este link deve levá-lo ao artigo certo:

Guia de início rápido: adicionar entrada com a Microsoft a um aplicativo Web ASP.NET Core

Pedimos desculpas pelo inconveniente e agradecemos a sua paciência enquanto trabalhamos para resolver este problema.

Neste início rápido, você baixa e executa um exemplo de código que demonstra como um aplicativo Web ASP.NET Core pode entrar em 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 neste início rápido funcione:

  • Para Redirecionar URI, digite https://localhost:44321/ e https://localhost:44321/signin-oidc.
  • Para URL de logout do canal frontal, digite https://localhost:44321/signout-oidc.

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

Already configured Seu aplicativo está configurado com esses atributos.

Etapa 2: Baixe o projeto ASP.NET Core

Execute o projeto.

Gorjeta

Para evitar erros causados por limitações de comprimento de caminho no Windows, recomendamos extrair o arquivo ou clonar o repositório em um diretório perto da raiz da unidade.

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

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

Nota

Enter_the_Supported_Account_Info_Here

Mais informações

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

Como funciona a amostra

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 uma Startup classe que é 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 AddAuthentication() método configura o serviço para adicionar autenticação baseada em cookie. Essa autenticação é usada em cenários de navegador e para definir o desafio como OpenID Connect.

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

appsettings.json chave Description
ClientId ID do aplicativo (cliente) do aplicativo registrado no portal do Azure.
Instance Ponto de extremidade do serviço de token de segurança (STS) para o usuário autenticar. Esse valor normalmente https://login.microsoftonline.com/é , indicando a nuvem pública do Azure.
TenantId Nome do seu inquilino ou o ID do inquilino (um GUID) ou common para iniciar sessão em utilizadores com contas escolares ou profissionais ou contas pessoais da Microsoft.

O Configure() método contém dois métodos app.UseAuthentication() importantes e app.UseAuthorization(), que habilitam sua funcionalidade nomeada. Também no Configure() método, você deve registrar rotas da Web do Microsoft Identity 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 de controlador usando o [Authorize] atributo. Este atributo restringe o acesso ao controlador ou métodos, permitindo apenas usuários autenticados. Um desafio de autenticação pode ser iniciado para acessar o controlador se o usuário não estiver autenticado.

Ajuda e suporte

Se precisar de ajuda, quiser comunicar um problema ou quiser saber mais sobre as suas opções de suporte, consulte Ajuda e suporte para programadores.

Próximos passos

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 autenticação a um novo aplicativo Web ASP.NET Core.
  • Chame o Microsoft Graph, outras APIs da Microsoft ou suas próprias APIs da Web.
  • Adicionar autorização.
  • Inicie sessão de utilizadores em nuvens nacionais ou com identidades sociais.