Partilhar via


Guia de início rápido: adicionar início de sessão com a Microsoft num aplicativo Web ASP.NET Core

Bem-vindo! 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 início de sessão com a conta Microsoft a uma aplicação web ASP.NET Core

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

Neste guia rápido, descarrega e executa um exemplo de código que demonstra como uma aplicação web ASP.NET Core pode autenticar utilizadores 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 terminação de sessão do canal frontal, digite https://localhost:44321/signout-oidc.

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

Já configurado Seu aplicativo está configurado com esses atributos.

Etapa 2: Baixe o projeto ASP.NET Core

Execute o projeto.

Sugestão

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.

Observação

Enter_the_Supported_Account_Info_Here

Mais informações

Esta secção apresenta uma visão geral do código necessário para iniciar sessão dos utilizadores. 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

Diagrama da interação entre o navegador da Web, o aplicativo Web e a plataforma de identidade da Microsoft no aplicativo de exemplo.

Classe de arranque

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 configurar o desafio para a OpenID Connect.

A linha que contém .AddMicrosoftIdentityWebApp adiciona a autenticação da plataforma de identidade da Microsoft ao seu aplicativo. A aplicação é então configurada para iniciar sessão dos utilizadores com base nas seguintes informações na AzureAD seção do arquivo de configuração appsettings.json.

appsettings.json chave Descrição
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 utilizador se 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 com utilizadores que têm contas de trabalho ou escolares e contas pessoais da Microsoft.

O método Configure() contém dois métodos importantes, app.UseAuthentication() e app.UseAuthorization(), que permitem a sua funcionalidade designada. 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.
  • Permitir a entrada de utilizadores em nuvens regionais ou com identidades sociais.