Exemplos de código do Azure Active Directory (ponto final v1.0)

Aviso

Este conteúdo destina-se ao ponto final Azure AD v1.0 mais antigo. Utilize o plataforma de identidades da Microsoft para novos projetos.

Pode utilizar o Azure Active Directory (Azure AD) para adicionar autenticação e autorização às suas aplicações Web e APIs Web.

Esta secção fornece ligações para exemplos que pode utilizar para saber mais sobre o ponto final Azure AD v1.0. Estes exemplos mostram-lhe como é feito juntamente com fragmentos de código que pode utilizar nas suas aplicações. Na página de exemplo de código, encontrará tópicos de leitura-me detalhados que ajudam com requisitos, instalação e configuração. Além disso, o código é comentado para o ajudar a compreender as secções críticas.

Nota

Se estiver interessado em Microsoft Entra exemplos de código V2, veja exemplos de código v2.0 por cenário.

Aviso

O suporte para a Biblioteca de Autenticação do Active Directory (ADAL) terminará em dezembro de 2022. As aplicações que utilizam a ADAL em versões existentes do SO continuarão a funcionar, mas o suporte técnico e as atualizações de segurança irão terminar. Sem atualizações de segurança contínuas, as aplicações que utilizam a ADAL ficarão cada vez mais vulneráveis aos padrões de ataque de segurança mais recentes. Para obter mais informações, veja Migrar aplicações para a MSAL.

Para compreender o cenário básico para cada tipo de exemplo, veja Cenários de autenticação para Azure AD.

Também pode contribuir para os nossos exemplos no GitHub. Para saber como, veja Exemplos e documentação do Azure Active Directory.

Aplicações de página única

Este exemplo mostra como escrever uma aplicação de página única protegida com Azure AD.

Plataforma Chama a sua própria API Chama outra API Web
Esta imagem mostra o logótipo javaScript javascript-singlepageapp
Esta imagem mostra o logótipo Angular JS angularjs-singlepageapp angularjs-singlepageapp-cors

Aplicações Web

Aplicações Web a iniciar sessão de utilizadores, a chamar o Microsoft Graph ou uma API Web com a identidade do utilizador

Os exemplos seguintes ilustram as aplicações Web que assinam utilizadores. Algumas destas aplicações também chamam o Microsoft Graph ou a sua própria API Web, em nome do utilizador com sessão iniciada.

Plataforma Apenas inicia sessão de utilizadores Chama o Microsoft Graph Chama outro ASP.NET ou ASP.NET Core API Web 2.0
Esta imagem mostra o logótipo do ASP.NET Core

ASP.NET Core 2.0
dotnet-webapp-openidconnect-aspnetcore webapp-webapi-multitenant-openidconnect-aspnetcore

(Azure AD Graph)
dotnet-webapp-webapi-openidconnect-aspnetcore
Esta imagem mostra o logótipo do ASP.NET Framework

ASP.NET 4.5

webapp-WSFederation-dotNet

dotnet-webapp-webapi-oauth2-useridentity
dotnet-webapp-multi-inquilino-openidconnect

(Azure AD Graph)
Esta imagem mostra o logótipo do Python python-webapp-graphapi
Esta imagem mostra o registo Java java-webapp-openidconnect
Esta imagem mostra o logótipo PHP php-graphapi-web

Aplicações Web que demonstram o controlo de acesso baseado em funções (autorização)

Os exemplos seguintes mostram como implementar o controlo de acesso baseado em funções (RBAC). O RBAC é utilizado para restringir as permissões de determinadas funcionalidades numa aplicação Web a determinados utilizadores. Os utilizadores estão autorizados consoante pertençam a um grupo Azure AD ou tenham uma determinada função de aplicação.

Plataforma Sample Descrição
Esta imagem mostra o logótipo do ASP.NET Framework

ASP.NET 4.5
dotnet-webapp-groupclaims

dotnet-webapp-roleclaims
Uma aplicação Web .NET 4.5 MVC que utiliza funções de Azure AD para autorização

Aplicações cliente públicas móveis e de ambiente de trabalho a chamar o Microsoft Graph ou uma API Web

Os exemplos seguintes ilustram as aplicações cliente públicas (aplicações de ambiente de trabalho/dispositivos móveis) que acedem ao Microsoft Graph ou a uma API Web em nome de um utilizador. Consoante os dispositivos e plataformas, as aplicações podem iniciar sessão de utilizadores de formas diferentes (fluxos/concessões):

  • Interativamente
  • Silenciosamente (com autenticação integrada do Windows no Windows ou nome de utilizador/palavra-passe)
  • Ao delegar o início de sessão interativo noutro dispositivo (fluxo de código do dispositivo utilizado em dispositivos que não fornecem controlos Web)
Aplicação cliente Plataforma Fluxo/Concessão Chama o Microsoft Graph Chama um ASP.NET ou ASP.NET Core API Web 2.x
Ambiente de trabalho (WPF) Esta imagem mostra o logótipo .NET/C# Interativo Parte de dotnet-native-multitarget dotnet-native-desktop

dotnet-native-aspnetcore

dotnet-webapi-manual-jwt-validation
Dispositivos móveis (UWP) Esta imagem mostra o .NET/C#/UWP Interativo dotnet-native-uwp-wam

Este exemplo utiliza WAM, não ADAL.NET
dotnet-windows-store (Aplicação UWP com ADAL.NET para chamar uma API Web de inquilino único)

dotnet-webapi-multitenant-windows-store (Aplicação UWP com ADAL.NET para chamar uma API Web multi-inquilino)
Dispositivos móveis (Android, iOS, UWP) Esta imagem mostra o .NET/C# (Xamarin) Interativo dotnet-native-multitarget
Dispositivos móveis (Android) Esta imagem mostra o logótipo do Android Interativo android
Dispositivos móveis (iOS) Esta imagem mostra iOS/Objective C ou Swift Interativo nativeClient-iOS
Ambiente de Trabalho (Consola) Esta imagem mostra o logótipo .NET/C# Nome de utilizador/Palavra-passe

Autenticação integrada do Windows
dotnet-native-headless
Ambiente de Trabalho (Consola) Esta imagem mostra o logótipo Java Nome de utilizador/Palavra-passe java-native-headless
Ambiente de Trabalho (Consola) Esta imagem mostra o logótipo .NET Core/C# Fluxo de código do dispositivo dotnet-deviceprofile

Aplicações Daemon (aceder a APIs Web com a identidade da aplicação)

Os exemplos seguintes mostram aplicações de ambiente de trabalho ou Web que acedem ao Microsoft Graph ou a uma API Web sem nenhum utilizador (com a identidade da aplicação).

Aplicação cliente Plataforma Fluxo/Concessão Chama uma API Web ASP.NET ou ASP.NET Core 2.0
Aplicação Daemon (Consola) Esta imagem mostra o logótipo do .NET Framework Credenciais de Cliente com segredo ou certificado da aplicação dotnet-daemon

dotnet-daemon-certificate-credential
Aplicação Daemon (Consola) Esta imagem mostra o logótipo do .NET Core Credenciais de Cliente com certificado dotnetcore-daemon-certificate-credential
ASP.NET Web App Esta imagem mostra o logótipo do .NET Framework Credenciais de cliente dotnet-webapp-webapi-oauth2-appidentity

APIs da Web

API Web protegida pelo Azure Active Directory

O exemplo seguinte mostra como proteger uma API Web Node.js com Azure AD.

Nas secções anteriores deste artigo, também pode encontrar outros exemplos que ilustram uma aplicação cliente que chama uma ASP.NET ou ASP.NET Core API Web. Estes exemplos não são mencionados novamente nesta secção, mas irá encontrá-los na última coluna das tabelas acima ou abaixo

Plataforma Sample
Esta imagem mostra o logótipo do Node.js node-webapi

API Web a chamar o Microsoft Graph ou outra API Web

Os exemplos seguintes demonstram uma API Web que chama outra API Web. O segundo exemplo mostra como lidar com o Acesso Condicional.

Plataforma Chama o Microsoft Graph Chama outro ASP.NET ou ASP.NET Core API Web 2.0
Esta imagem mostra o logótipo do ASP.NET Framework

ASP.NET 4.5
dotnet-webapi-onbehalfof

dotnet-webapi-onbehalfof-ca
dotnet-webapi-onbehalfof

dotnet-webapi-onbehalfof-ca

Outros exemplos do Microsoft Graph

Para obter exemplos e tutoriais que demonstrem diferentes padrões de utilização para o microsoft Graph API, incluindo a autenticação com Azure AD, veja Exemplos de Comunidade do Microsoft Graph & Tutoriais.

Ver também