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.
Advertência
Este conteúdo destina-se ao ponto de extremidade antigo do Azure AD versão 1.0. Utilize a plataforma de identidade da Microsoft para novos projetos.
Aplicativos nativos são aplicativos que chamam uma API da Web em nome de um usuário. Este cenário baseia-se no tipo de concessão do código de autorização OAuth 2.0 com um cliente público, conforme descrito na seção 4.1 da especificação OAuth 2.0 . O aplicativo nativo obtém um token de acesso para o usuário usando o protocolo OAuth 2.0. Esse token de acesso é então enviado na solicitação para a API da Web, que autoriza o usuário e retorna o recurso desejado.
Diagrama
Fluxo de protocolo
Se estiveres a utilizar as Bibliotecas de Autenticação do AD, a maioria dos detalhes do protocolo descritos abaixo são geridos para ti, como a janela pop-up do navegador, o armazenamento em cache de tokens e a atualização de tokens.
- Usando um pop-up do navegador, a aplicação nativa faz uma solicitação para o endpoint de autorização no Azure AD. Essa solicitação inclui a ID do Aplicativo e o URI de redirecionamento do aplicativo nativo, conforme mostrado no portal do Azure, e o URI da ID do aplicativo para a API Web. Se o utilizador ainda não tiver iniciado sessão, ser-lhe-á pedido para iniciar sessão novamente
- O Azure AD autentica o usuário. Se for um aplicativo multilocatário e o consentimento for necessário para usar o aplicativo, o usuário será obrigado a consentir se ainda não o tiver feito. Depois de conceder consentimento e após a autenticação bem-sucedida, o Azure AD emite uma resposta de código de autorização de volta para o URI de redirecionamento do aplicativo cliente.
- Quando o Azure AD emite uma resposta de código de autorização de volta para o URI de redirecionamento, o aplicativo cliente interrompe a interação do navegador e extrai o código de autorização da resposta. Usando esse código de autorização, o aplicativo cliente envia uma solicitação para o ponto de extremidade de token do Azure AD que inclui o código de autorização, detalhes sobre o aplicativo cliente (ID do Aplicativo e URI de redirecionamento) e o recurso desejado (URI da ID do aplicativo para a API Web).
- O código de autorização e as informações sobre o aplicativo cliente e a API Web são validados pelo Azure AD. Após a validação bem-sucedida, o Azure AD retorna dois tokens: um token de acesso JWT e um token de atualização JWT. Além disso, o Azure AD retorna informações básicas sobre o usuário, como seu nome para exibição e ID de locatário.
- Sobre HTTPS, a aplicação cliente usa o token de acesso JWT retornado para adicionar a cadeia JWT com uma designação "Bearer" no cabeçalho Authorization da solicitação para a API web. Em seguida, a API da Web valida o token JWT e, se a validação for bem-sucedida, retorna o recurso desejado.
- Quando o token de acesso expirar, o aplicativo cliente receberá um erro que indica que o usuário precisa se autenticar novamente. Se o aplicativo tiver um token de atualização válido, ele poderá ser usado para adquirir um novo token de acesso sem solicitar que o usuário entre novamente. Se o token de atualização expirar, o aplicativo precisará autenticar interativamente o usuário mais uma vez.
Observação
O token de atualização emitido pelo Azure AD pode ser usado para acessar vários recursos. Por exemplo, se você tiver um aplicativo cliente que tenha permissão para chamar duas APIs da Web, o token de atualização também poderá ser usado para obter um token de acesso à outra API da Web.
Exemplos de código
Consulte os exemplos de código para cenários de aplicativo nativo para API Web. E volte com frequência -- adicionamos novas amostras com frequência. Aplicação nativa para API Web.
Registo na aplicação
Para registar uma aplicação com o endpoint do Azure AD v1.0, consulte Registar uma aplicação.
- Locatário único - O aplicativo nativo e a API Web devem ser registrados no mesmo diretório no Azure AD. A API da Web pode ser configurada para expor um conjunto de permissões, que são usadas para limitar o acesso do aplicativo nativo aos seus recursos. De seguida, a aplicação cliente seleciona as permissões desejadas na lista pendente "Permissões para outros aplicativos" no portal do Azure.
- Multilocatário - Primeiro, o aplicativo nativo é registrado apenas no diretório do desenvolvedor ou editor. Em segundo lugar, o aplicativo nativo é configurado para indicar as permissões necessárias para ser funcional. Essa lista de permissões necessárias é mostrada em uma caixa de diálogo quando um usuário ou administrador no diretório de destino dá consentimento para o aplicativo, que o torna disponível para sua organização. Alguns aplicativos exigem apenas permissões de nível de usuário, que qualquer usuário na organização pode consentir. Outros aplicativos exigem permissões de nível de administrador, que um usuário na organização não pode consentir. Somente um administrador de diretório pode dar consentimento para aplicativos que exigem esse nível de permissões. Quando o usuário ou administrador consente, somente a API da Web é registrada em seu diretório.
Expiração do token
Quando o aplicativo nativo usa seu código de autorização para obter um token de acesso JWT, ele também recebe um token de atualização JWT. Quando o token de acesso expira, o token de atualização pode ser usado para autenticar novamente o usuário sem exigir que ele entre novamente. Esse token de atualização é usado para autenticar o usuário, o que resulta em um novo token de acesso e token de atualização.