Biblioteca de Autenticação do Azure Active Directory
Aviso
Este conteúdo é destinado ao ponto de extremidade mais antigo do Azure AD v1.0. Use a plataforma de identidade da Microsoft para obter novos projetos.
A ADAL (Biblioteca de Autenticação do Azure Active Directory) v1.0 permite que os desenvolvedores de aplicativos autentiquem usuários na nuvem ou no AD (Active Directory local) e obtenham tokens para proteger chamadas à API. A ADAL facilita a autenticação para desenvolvedores por meio de recursos como:
- Cache de token configurável que armazena tokens de acesso e tokens de atualização
- Atualização automática de token quando um token de acesso expira e um token de atualização está disponível
- Suporte para chamadas de método assíncrono
Aviso
A Biblioteca de Autenticação do Azure Active Directory (ADAL) foi preterida. Use a Biblioteca de Autenticação da Microsoft (MSAL). Se você tiver aplicativos existentes que usam a ADAL, migre-os para a MSAL.
Bibliotecas de cliente com suporte da Microsoft
Plataforma | Biblioteca | Baixar | Código-fonte | Amostra | Referência |
---|---|---|---|---|---|
Cliente .NET, Windows Store, UWP, Xamarin iOS e Android | ADAL .NET v3 | NuGet | GitHub | Aplicativo da área de trabalho | |
JavaScript | ADAL.js | GitHub | GitHub | Aplicativo de página única | |
iOS, macOS | ADAL | GitHub | GitHub | Aplicativo iOS | |
Andróide | ADAL | Maven | GitHub | Aplicativo Android | JavaDocs |
Node.js | ADAL | npm | GitHub | Node.js aplicativo Web | Referência |
Java | ADAL4J | Maven | GitHub | aplicativo Web Java | Referência |
Python | ADAL | GitHub | GitHub | aplicativo Web Python | Referência |
Bibliotecas de servidores com suporte da Microsoft
Plataforma | Biblioteca | Baixar | Código-fonte | Amostra | Referência |
---|---|---|---|---|---|
.NET | OWIN para AzureAD | NuGet | GitHub | aplicativo MVC | |
.NET | OWIN para OpenIDConnect | NuGet | GitHub | Aplicativo Web | |
.NET | OWIN para WS-Federation | NuGet | GitHub | aplicativo Web MVC | |
.NET | Extensões de protocolo de identidade para .NET 4.5 | NuGet | GitHub | ||
.NET | Manipulador JWT para .NET 4.5 | NuGet | GitHub | ||
Node.js | Passaporte do Azure AD | npm | GitHub | API da Web |
Cenários
Aqui estão três cenários comuns para usar a ADAL em um cliente que acessa um recurso remoto:
Autenticando usuários de um aplicativo cliente nativo em execução em um dispositivo
Nesse cenário, um desenvolvedor tem um cliente móvel ou um aplicativo de área de trabalho que precisa acessar um recurso remoto, como uma API Web. A API Web não permite chamadas anônimas e deve ser chamada no contexto de um usuário autenticado. A API Web é pré-configurada para confiar em tokens de acesso emitidos por um locatário específico do Azure AD. O Azure AD está pré-configurado para emitir tokens de acesso para esse recurso. Para invocar a API Web do cliente, o desenvolvedor usa a ADAL para facilitar a autenticação com o Azure AD. A maneira mais segura de usar a ADAL é fazer com que ela renderize a interface do usuário para coletar credenciais do usuário (renderizada como janela do navegador).
A ADAL facilita a autenticação do usuário, obter um token de acesso e atualizar o token do Azure AD e, em seguida, chamar a API Web usando o token de acesso.
Para obter um exemplo de código que demonstra esse cenário usando a autenticação no Azure AD, consulte aplicativo WPF de cliente nativo para a API Web.
Autenticando um aplicativo cliente confidencial em execução em um servidor Web
Nesse cenário, um desenvolvedor tem um aplicativo em execução em um servidor que precisa acessar um recurso remoto, como uma API Web. A API Web não permite chamadas anônimas, portanto, ela deve ser chamada de um serviço autorizado. A API Web é pré-configurada para confiar em tokens de acesso emitidos por um locatário específico do Azure AD. O Azure AD está pré-configurado para emitir tokens de acesso para esse recurso para um serviço com credenciais de cliente (ID do cliente e segredo). A ADAL facilita a autenticação do serviço com o Azure AD retornando um token de acesso que pode ser usado para chamar a API Web. A ADAL também manipula o gerenciamento do tempo de vida do token de acesso armazenando-o em cache e renovando-o conforme necessário. Para obter um exemplo de código que demonstra esse cenário, consulte aplicativo de console Daemon para a API Web.
Autenticando um aplicativo cliente confidencial em execução em um servidor, em nome de um usuário
Nesse cenário, um desenvolvedor tem um aplicativo Web em execução em um servidor que precisa acessar um recurso remoto, como uma API Web. A API Web não permite chamadas anônimas, portanto, ela deve ser chamada de um serviço autorizado em nome de um usuário autenticado. A API Web é pré-configurada para confiar em tokens de acesso emitidos por um locatário específico do Microsoft Entra e a ID do Microsoft Entra está pré-configurada para emitir tokens de acesso para esse recurso para um serviço com credenciais de cliente. Depois que o usuário é autenticado no aplicativo Web, o aplicativo pode obter um código de autorização para o usuário da ID do Microsoft Entra. Em seguida, o aplicativo Web pode usar a ADAL para obter um token de acesso e atualizar o token em nome de um usuário usando o código de autorização e as credenciais de cliente associadas ao aplicativo da ID do Microsoft Entra. Depois que o aplicativo Web estiver em posse do token de acesso, ele poderá chamar a API Web até que o token expire. Quando o token expira, o aplicativo Web pode usar a ADAL para obter um novo token de acesso usando o token de atualização que foi recebido anteriormente. Para obter um exemplo de código que demonstra esse cenário, consulte cliente nativo para a API Web para a API Web.