Guia de início rápido: fazer login de utilizadores e chamar uma API web numa aplicação móvel de exemplo
Aplica-se a: Inquilinos do Workforce
Inquilinos externos (saber mais)
Antes de começar, use o seletor Escolha um tipo de locatário na parte superior desta página para selecionar o tipo de locatário. O Microsoft Entra ID oferece duas configurações de locatário, equipa de trabalho e externo. Uma configuração de gestão da força de trabalho é para os funcionários, aplicativos internos e outros recursos organizacionais. Um locatário externo é para seus aplicativos voltados para o cliente.
Este guia demonstra como configurar uma aplicação móvel de exemplo para autenticar utilizadores e chamar uma API web ASP.NET Core.
Neste artigo, você executa as seguintes tarefas:
- Registe uma aplicação no centro de administração do Microsoft Entra.
- Adicione um URL de redirecionamento de plataforma.
- Habilite fluxos de clientes públicos.
- Atualize o arquivo de exemplo de código de configuração do Android para usar sua própria ID externa do Microsoft Entra para obter detalhes do locatário do cliente.
- Execute e teste o aplicativo móvel Android de exemplo.
- Chame uma API da Web protegida.
Pré-requisitos
Um locatário externo. Se não tem um, inscreva-se para uma experiência gratuita.
Um registro de API que expõe pelo menos um escopo (permissões delegadas) e uma função de aplicativo (permissão de aplicativo), como ToDoList.Read. Se ainda não o fez, siga as instruções para chamar uma API num aplicativo móvel Android de exemplo de modo a ter uma API da Web ASP.NET Core protegida e funcional. Certifique-se de concluir as seguintes etapas:
- Registrar um aplicativo de API da Web
- Configurar escopos de API
- Configurar funções do aplicativo
- Configurar declarações opcionais
- Clonar ou baixar exemplo de API da Web
- Configurar e executar API Web de exemplo
Registar uma candidatura
Para permitir que a sua aplicação inicie a sessão dos utilizadores com a Microsoft Entra, a ID Externa da Microsoft Entra deve conhecer a aplicação que criou. O registo da aplicação estabelece uma relação de confiança entre a aplicação e o Microsoft Entra. Quando você registra um aplicativo, a ID externa gera um identificador exclusivo conhecido como ID do Aplicativo (cliente), um valor usado para identificar seu aplicativo ao criar solicitações de autenticação.
As etapas a seguir mostram como registrar seu aplicativo no centro de administração do Microsoft Entra:
Faça login no centro de administração do Microsoft Entra como, no mínimo, um Desenvolvedor de Aplicações.
Se tiver acesso a várias instâncias, utilize o ícone Definições
no menu superior para alternar para a sua instância externa a partir do menu Diretórios + subscrições .
Navegue para Identidade>Aplicações>Registos de aplicações.
Selecione + Novo registo.
Na página que aparece, Registar uma candidatura no .
- Insira um nome de aplicação significativo Nome que é exibido para os utilizadores da aplicação, por exemplo, ciam-client-app.
- Em Tipos de conta suportados, selecione Contas apenas neste diretório organizacional.
Selecione Registo.
O painel de Visão Geral do aplicativo é exibido após o registro bem-sucedido. Registe o ID da aplicação (cliente) a ser usado no código-fonte da aplicação.
Adicionar um URL de redirecionamento de plataforma
Para especificar o tipo de aplicativo para o registro do aplicativo, siga estas etapas:
- Em Gerir, selecione Autenticação.
- Na página Configurações da plataforma, selecione Adicionar uma plataformae, em seguida, selecione a opção Android.
- Insira o nome do pacote do seu projeto. Se você baixou o código de exemplo , esse valor é
com.azuresamples.msaldelegatedandroidkotlinsampleapp
. - Na seção Hash de Assinatura do painel Configurar o seu aplicativo Android, selecione 'Gerar um Hash de Assinatura de Desenvolvimento.' Isso mudará para cada ambiente de desenvolvimento. Copie e execute o comando KeyTool para o seu sistema operativo no seu terminal.
- Insira o hash Signature gerado pelo KeyTool.
- Selecionar Configurar.
- Copie o de configuração do MSAL do painel de configuração do Android e salve-o para configuração posterior do aplicativo.
- Selecione Concluído.
Habilitar o fluxo público de clientes
Para identificar seu aplicativo como um cliente público, siga estas etapas:
Em Gerir, selecione Autenticação.
Em Configurações avançadas, para Permitir fluxos de clientes públicos, selecione Sim.
Selecione Salvar para salvar as alterações.
Conceder consentimento de administrador
Depois de registrar seu aplicativo, ele recebe a permissão User.Read. No entanto, como o locatário é um locatário externo, os próprios usuários do cliente não podem consentir com essa permissão. Você, como administrador do locatário, deve consentir com essa permissão em nome de todos os usuários no locatário:
Na página Registos de Aplicações, selecione a aplicação que criou (como ciam-client-app) para abrir a sua página de Resumo.
Em Gerenciar, selecione permissões de API.
- Selecione Conceder consentimento de administrador para <o nome do seu locatário>, em seguida, selecione Sim.
- Selecione Atualizare, em seguida, verifique se Concedido para <o nome do locatário> aparece em Status para a permissão.
Conceder permissões de API da Web para o aplicativo de exemplo
Depois de registrar o aplicativo cliente, a API da Web e expor a API criando escopos, você pode configurar as permissões do cliente para a API seguindo estas etapas:
Na página de registos de aplicações, selecione a aplicação que criou (como ciam-client-app) para abrir a sua página de Resumo .
Em Gerenciar, selecione permissões de API.
Em Permissões configuradas, selecione Adicionar uma permissão.
Selecione o separador de APIs que a minha organização usa.
Na lista de APIs, selecione a API, como ciam-ToDoList-api.
Selecione a opção Permissões delegadas.
Na lista de permissões, selecione ToDoList.Read, ToDoList.ReadWrite (use a caixa de pesquisa, se necessário).
Selecione o botão Adicionar permissões.
Neste ponto, você atribuiu as permissões corretamente. No entanto, como o locatário é locatário de um cliente, os próprios usuários consumidores não podem consentir com essas permissões. Para resolver isso, você, como administrador, deve consentir com essas permissões em nome de todos os usuários no locatário:
Selecione Conceder consentimento de administrador para <o nome do seu locatário>e, em seguida, selecione Sim.
Selecione Atualizare, em seguida, verifique se Concedido para <o nome do locatário> aparece em Status para ambas as permissões.
Na lista de permissões configuradas , selecione as permissões ToDoList.Read e ToDoList.ReadWrite, uma de cada vez, e copie o URI completo de cada permissão para uso posterior. O URI de permissão total é semelhante a
api://{clientId}/{ToDoList.Read}
ouapi://{clientId}/{ToDoList.ReadWrite}
.
Aplicação móvel de exemplo para clone
Para obter o aplicativo de exemplo, você pode cloná-lo do GitHub ou baixá-lo como um arquivo .zip.
Para clonar o exemplo, abra um prompt de comando e navegue até onde deseja criar o projeto e digite o seguinte comando:
git clone https://github.com/Azure-Samples/ms-identity-ciam-browser-delegated-android-sample
Configurar o aplicativo móvel Android de exemplo
Para habilitar a autenticação e o acesso aos recursos da API da Web, configure o exemplo seguindo estas etapas:
No Android Studio, abra o projeto clonado.
Abra o ficheiro auth_config_ciam.json em /app/src/main/res/raw/.
Encontre o espaço reservado:
-
Enter_the_Application_Id_Here
e substitua-o pelo ID do Aplicativo (cliente) do aplicativo que você registrou anteriormente. -
Enter_the_Redirect_Uri_Here
e substitua-o pelo valor de redirect_uri no arquivo de configuração da Microsoft Authentication Library (MSAL) que você baixou anteriormente quando adicionou a URL de redirecionamento da plataforma. -
Enter_the_Tenant_Subdomain_Here
e substitua-o pelo subdomínio Directory (locatário). Por exemplo, se o domínio principal do locatário forcontoso.onmicrosoft.com
, usecontoso
. Se não souber o subdomínio do locatário, veja como ler os detalhes do locatário.
-
Abra o ficheiro AndroidManifest.xmlem /app/src/main/.
Encontre o espaço reservado:
-
ENTER_YOUR_SIGNATURE_HASH_HERE
e substitua-o pelo Hash de Assinatura que gerou anteriormente quando adicionou o URL de redirecionamento da plataforma.
-
Abra o arquivo /app/src/main/java/com/azuresamples/msaldelegatedandroidkotlinsampleapp/MainActivity.kt .
Encontre a propriedade chamada
WEB_API_BASE_URL
e defina o URL para sua API da Web.Encontre a propriedade chamada
scopes
e defina os escopos registados em para conceder permissões da API web à aplicação de exemplo Android.private const val scopes = "" // Developers should set the respective scopes of their web API here. For example, private const val scopes = "api://{clientId}/{ToDoList.Read} api://{clientId}/{ToDoList.ReadWrite}"
Você configurou o aplicativo e ele está pronto para ser executado.
Executar aplicativo de exemplo e chamar API da Web
Para criar e executar seu aplicativo, siga estas etapas:
Na barra de ferramentas, selecione seu aplicativo no menu Executar configurações.
No menu do dispositivo de destino, selecione o dispositivo no qual você deseja executar seu aplicativo.
Se você não tiver nenhum dispositivo configurado, precisará criar um dispositivo virtual Android para usar o emulador Android ou conectar um dispositivo Android físico.
Selecione o botão Executar.
Selecione Adquirir Token Interativamente para solicitar um token de acesso.
Selecione a API - Realize o GET para chamar a API web ASP.NET Core configurada anteriormente. Uma chamada bem-sucedida para a API da Web retorna HTTP 200, enquanto HTTP 403 significa acesso não autorizado.