Tutorial: Preparar seu aplicativo Android (Kotlin) para autenticação
Este é o segundo tutorial da série de tutoriais que demonstra como adicionar a Biblioteca de Autenticação da Microsoft (MSAL) para Android ao seu aplicativo Android (Kotlin). O MSAL permite que os aplicativos Android autentiquem usuários com o Microsoft Entra.
Neste tutorial, você:
- Adicione dependências MSAL.
- Adicionar configuração.
Pré-requisitos
- Estúdio Android
- Se ainda não o fez, siga as instruções em Tutorial: Registar e configurar a aplicação móvel Android (Kotlin) e registar uma aplicação no seu inquilino externo.
- Um projeto Android. Se você não tiver um projeto Android, crie-o.
Adicionar dependências MSAL
Para adicionar dependências MSAL em seu projeto Android, execute estas etapas:
Abra seu projeto no Android Studio ou crie um novo projeto.
Abra o aplicativo e
build.gradle
adicione as seguintes dependências:allprojects { repositories { //Needed for com.microsoft.device.display:display-mask library maven { url 'https://pkgs.dev.azure.com/MicrosoftDeviceSDK/DuoSDK-Public/_packaging/Duo-SDK-Feed/maven/v1' name 'Duo-SDK-Feed' } mavenCentral() google() } } //... dependencies { implementation 'com.microsoft.identity.client:msal:5.+' //... }
Na configuração, os repositórios são definidos para as dependências do
build.gradle
projeto. Ele inclui uma URL de repositório Maven para acom.microsoft.device.display:display-mask
biblioteca do Azure DevOps. Além disso, utiliza repositórios do Maven Central e do Google. A seção dependências especifica a implementação do MSAL versão 5 e potencialmente outras dependências.No Android Studio, selecione File>Sync Project with Gradle Files.
Adicionar configuração
Você passa os identificadores de locatário necessários, como a ID do aplicativo (cliente), para o SDK do MSAL por meio de uma definição de configuração JSON.
Use estas etapas para criar o arquivo de configuração:
No painel de projetos do Android Studio, navegue até app\src\main\res.
Clique com o botão direito do mouse em res e selecione Novo>diretório. Digite
raw
como o novo nome do diretório e selecione OK.Em app\src\main\res\raw, crie um novo arquivo JSON chamado
auth_config_ciam_auth.json
.auth_config_ciam_auth.json
No arquivo, adicione as seguintes configurações MSAL:{ "client_id" : "Enter_the_Application_Id_Here", "authorization_user_agent" : "DEFAULT", "redirect_uri" : "Enter_the_Redirect_Uri_Here", "account_mode" : "SINGLE", "authorities" : [ { "type": "CIAM", "authority_url": "https://Enter_the_Tenant_Subdomain_Here.ciamlogin.com/Enter_the_Tenant_Subdomain_Here.onmicrosoft.com/" } ] }
O arquivo de configuração JSON especifica várias configurações para um aplicativo Android. Inclui o ID do cliente, o agente de usuário de autorização, o URI de redirecionamento e o modo de conta. Além disso, define uma autoridade para autenticação, especificando o tipo e a URL da autoridade.
Substitua os seguintes espaços reservados pelos valores de locatário obtidos no centro de administração do Microsoft Entra:
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 Biblioteca de Autenticação da Microsoft (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 inquilino, saiba como ler os detalhes do inquilino.
Abra o arquivo /app/src/main/AndroidManifest.xml .
No AndroidManifest.xml, adicione a seguinte especificação de dados a um filtro de intenção:
<data android:host="ENTER_YOUR_PROJECT_PACKAGE_NAME_HERE" android:path="/ENTER_YOUR_SIGNATURE_HASH_HERE" android:scheme="msauth" />
Encontre o espaço reservado:
- ENTER_YOUR_PROJECT_PACKAGE_NAME_HERE e substitua-o pelo nome do pacote de projeto do seu Android.
- ENTER_YOUR_SIGNATURE_HASH_HERE e substitua-o pelo Hash de Assinatura que você gerou anteriormente quando adicionou a URL de redirecionamento da plataforma.
Usar domínio de URL personalizado (opcional)
Use um domínio personalizado para marcar totalmente a URL de autenticação. Do ponto de vista do usuário, os usuários permanecem no seu domínio durante o processo de autenticação, em vez de serem redirecionados para ciamlogin.com nome de domínio.
Use as seguintes etapas para usar um domínio personalizado:
Use as etapas em Habilitar domínios de URL personalizados para aplicativos em locatários externos para habilitar o domínio de URL personalizado para seu locatário externo.
Abra auth_config_ciam_auth.json arquivo:
- Atualize o
authority_url
valor da propriedade para https://Enter_the_Custom_Domain_Here/Enter_the_Tenant_ID_Here. SubstituaEnter_the_Custom_Domain_Here
pelo seu domínio de URL personalizado eEnter_the_Tenant_ID_Here
pelo seu ID de inquilino. Se não tiver o ID do inquilino, saiba como ler os detalhes do inquilino. - Adicionar
knownAuthorities
propriedade com um valor [Enter_the_Custom_Domain_Here].
- Atualize o
Depois de fazer as alterações no arquivo auth_config_ciam_auth.json, se o domínio de URL personalizado estiver login.contoso.com e o ID do locatário for aaaabbbb-0000-cccc-1111-dddd2222eeee, o arquivo deverá ser semelhante ao seguinte trecho:
{
"client_id" : "Enter_the_Application_Id_Here",
"authorization_user_agent" : "DEFAULT",
"redirect_uri" : "Enter_the_Redirect_Uri_Here",
"account_mode" : "SINGLE",
"authorities" : [
{
"type": "CIAM",
"authority_url": "https://login.contoso.com/aaaabbbb-0000-cccc-1111-dddd2222eeee",
"knownAuthorities": ["login.contoso.com"]
}
]
}
Criar instância do SDK do MSAL
Para inicializar a instância do SDK do MSAL, use o seguinte código:
private suspend fun initClient(): ISingleAccountPublicClientApplication = withContext(Dispatchers.IO) {
return@withContext PublicClientApplication.createSingleAccountPublicClientApplication(
this@MainActivity,
R.raw.auth_config_ciam_auth
)
}
O código inicializa um aplicativo cliente público de conta única de forma assíncrona. Ele usa o arquivo de configuração de autenticação fornecido e é executado no dispatcher de E/S.
Certifique-se de incluir as instruções de importação. O Android Studio deve incluir as instruções de importação para você automaticamente.
Próximos passos
Tutorial: Iniciar sessão de utilizadores na aplicação móvel Android (Kotlin)
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários