Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:
Locatários da força de trabalho
Inquilinos externos (saiba mais)
Neste tutorial, você cria um aplicativo Web ASP.NET Core e o configura para autenticação. Esta é a parte 1 de uma série que demonstra como criar um aplicativo Web ASP.NET Core e prepará-lo para autenticação usando o centro de administração do Microsoft Entra. Este aplicativo pode ser usado para funcionários em um locatário da força de trabalho ou para clientes que usam um locatário externo
Neste tutorial, você:
- Criar um aplicativo Web ASP.NET Core
- Criar um certificado autoassinado
- Definir as configurações para o aplicativo
- Definir configurações e URLs da plataforma
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa.
Crie uma conta gratuitamente. Essa conta deve ter permissões para gerenciar aplicativos. Use qualquer uma das seguintes funções necessárias para registrar o aplicativo:
- Administrador de aplicativos
- Desenvolvedor de aplicativos
- Embora qualquer ambiente de desenvolvimento integrado (IDE) que ofereça suporte a aplicativos ASP.NET Core possa ser usado, este tutorial usa Visual Studio Code. Você pode baixá-lo aqui.
- Um requisito mínimo de .NET 8.0 SDK.
- Um certificado de desenvolvedor ASP.NET Core. Instale um usando dotnet dev-certs
- Registre um novo aplicativo no centro de administração do Microsoft Entra, configurado para Contas somente neste diretório organizacional. Consulte Registar uma candidatura para obter mais detalhes. Registre os seguintes valores na página Visão geral do aplicativo para uso posterior:
- ID da aplicação (cliente)
- ID do diretório (inquilino)
- Adicione os seguintes URIs de redirecionamento usando a configuração da plataforma Web . Consulte Como adicionar um URI de redirecionamento em seu aplicativo para obter mais detalhes.
-
Redirecionar URI:
https://localhost:5001/signin-oidc -
URL de término de sessão do canal frontal:
https://localhost:5001/signout-oidc
-
Redirecionar URI:
- Para fins de desenvolvimento, crie um certificado autoassinado. Consulte para adicionar credenciais, carregar o certificado e registar a impressão digital do certificado . Não use um certificado autoassinado em aplicações de produção. Use uma autoridade de certificação confiável.
Criar um projeto ASP.NET Core
Nesta seção, você cria um projeto ASP.NET Core no Visual Studio Code.
Abra o Visual Studio Code e selecione File > Open Folder.... Navegue até o local para criar seu projeto e selecione-o.
Abra um novo terminal selecionando Terminal > Novo Terminal.
Insira o comando a seguir para criar um projeto ASP.NET Core MVC (Model View Controller).
dotnet new mvc -n identity-client-web-app
Instalar pacotes de identidade
Este aplicativo usa Microsoft.Identity.Web e o pacote NuGet relacionado deve ser instalado.
Use o seguinte trecho para mudar para a nova pasta identity-client-web-app e instalar o pacote NuGet relevante:
cd identity-client-web-app
dotnet add package Microsoft.Identity.Web.UI
Configurar o aplicativo para autenticação
As aplicações web que iniciam sessão para utilizadores através da "Microsoft identity platform" são configuradas através de um ficheiro de configuração, appsettings.json. No ASP.NET Core, deve especificar os seguintes valores:
| Configuração | Description |
|---|---|
Instance |
O endpoint de autenticação para executar a sua aplicação em nuvens nacionais. Use um dos: - https://login.microsoftonline.com/ (nuvem pública Azure) - https://login.microsoftonline.us/ (Azure governo dos EUA) - https://login.microsoftonline.de/ (Microsoft Entra Alemanha) - https://login.partner.microsoftonline.cn/ (Microsoft Entra China operada pela 21Vianet) |
TenantId |
O identificador do inquilino onde a aplicação está registada.
Recomendado: usar o ID do inquilino do registo da aplicação.
Alternativas: - organizations (qualquer conta profissional ou escolar) - common (trabalho/escola ou conta pessoal Microsoft) - consumers (Apenas contas pessoais da Microsoft). |
ClientId |
Identificador da aplicação (cliente) obtido a partir do registo da aplicação. |
CertificateThumbprint |
Impressão digital do certificado carregada no centro de administração do Microsoft Entra (ver adicionar credenciais). |
CallbackPath |
Caminho usado para redirecionar respostas; definido para /signin-oidc neste tutorial. |
DownstreamApi |
Identificador que define um endpoint para aceder ao Microsoft Graph. Combine o URI da aplicação com o âmbito necessário (por exemplo, user.read). |
Atualizar o arquivo de configuração
No IDE, abra o appsettings.json e substitua o conteúdo do arquivo pelo trecho a seguir. Substitua o texto entre aspas pelos valores que foram registrados anteriormente.
{
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"TenantId": "Enter_the_Tenant_Id_Here",
"ClientId": "Enter_the_Application_Id_Here",
"ClientCertificates": [
{
"SourceType": "StoreWithThumbprint",
"CertificateStorePath": "CurrentUser/My",
"CertificateThumbprint": "Enter the certificate thumbprint obtained the Microsoft Entra admin center"
}
],
"CallbackPath": "/signin-oidc"
},
"DownstreamApi": {
"BaseUrl": "https://graph.microsoft.com/v1.0/",
"RelativePath": "me",
"Scopes": [
"user.read"
]
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}
Atualizar o URI de redirecionamento
A partir dos pré-requisitos , a URI de redirecionamento é configurada como https://localhost:5001/signin-oidc. Isso precisa ser atualizado nas configurações de inicialização do aplicativo. Você pode usar o URI de redirecionamento criado durante a configuração do aplicativo local ou qualquer outro número de porta disponível, desde que corresponda ao URI de redirecionamento no registro do aplicativo.
Na pasta Propriedades, abra o arquivo launchSettings.json.
Localize o objeto
httpse atualize o valor deapplicationURIcom o número de porta correto, neste caso,5001. A linha deve ser semelhante ao seguinte trecho:"applicationUrl": "https://localhost:5001;http://localhost:{port}",