Migrar aplicativos iOS que usam o Microsoft Authenticator de ADAL.NET para MSAL.NET
Você tem usado a Biblioteca de Autenticação do Azure Active Directory para .NET (ADAL.NET) e o agente do iOS. Agora é hora de migrar para a Biblioteca de Autenticação da Microsoft para .NET (MSAL.NET), que dá suporte ao agente no iOS versão 4.3 em diante.
Por onde você deve começar? Este artigo ajuda você a migrar seu aplicativo Xamarin iOS de ADAL para MSAL.
Pré-requisitos
Este artigo pressupõe que você já tenha um aplicativo Xamarin iOS integrado ao agente do iOS. Caso contrário, migre diretamente para MSAL.NET e comece a implementação do agente. Para obter informações sobre como invocar o agente do iOS em MSAL.NET com um novo aplicativo, confira esta documentação.
Segundo plano
O que são agentes?
Os agentes são aplicativos fornecidos pela Microsoft no Android e no iOS. (Confira o aplicativo Microsoft Authenticator no iOS e Android e o aplicativo Portal da Empresa do Intune no Android.)
Eles permitem:
- Logon único.
- Identificar o dispositivo, que é exigido por algumas políticas de acesso condicional. Para obter mais informações, confira Gerenciamento de dispositivos.
- Verificar a identificação do aplicativo, que também é necessária em alguns cenários empresariais. Para obter mais informações, confira Gerenciamento de aplicativo móvel (MAM) do Intune.
Migrar de ADAL para MSAL
Etapa 1: habilitar o agente
Código de ADAL atual: | Equivalente de MSAL: |
Na ADAL.NET, o suporte ao agente foi habilitado com base no contexto por autenticação. Isso está desabilitado por padrão. Você precisava definir um sinalizador
Além disso, no código específico da plataforma, neste exemplo, no renderizador de página para iOS, defina o sinalizador sinalizador
Em seguida, inclua os parâmetros na chamada de token de aquisição:
|
Na MSAL.NET, o suporte do Broker é habilitado por PublicClientApplication. Isso está desabilitado por padrão. Para habilitá-lo, use o parâmetro
Na chamada de aquisição de token:
|
Etapa 2: definir um UIViewController()
Na ADAL.NET, você passou um UIViewController como parte do PlatformParameters
. (Confira o exemplo na Etapa 1.) Na MSAL.NET, para fornecer maior flexibilidade aos desenvolvedores, uma janela de objeto é usada, mas não é necessária no uso regular do iOS. Para usar o agente, defina a janela de objeto para enviar e receber respostas do agente.
Código de ADAL atual: | Equivalente de MSAL: |
Um UIViewController é passado para
|
Na MSAL.NET, faça duas ações para definir a janela de objeto para o iOS:
Por exemplo: Em
Em
Na chamada de aquisição de token:
|
Etapa 3: atualizar o AppDelegate para manipular o retorno de chamada
A ADAL e a MSAL chamam o agente que, por sua vez, chama o seu aplicativo por meio do método OpenUrl
da classe AppDelegate
. Para obter mais informações, veja esta documentação.
Não há nenhuma alteração aqui entre ADAL.NET e MSAL.NET.
Etapa 4: registrar um esquema de URL
ADAL.NET e MSAL.NET usam URLs para invocar o agente e retornar a resposta do agente de volta para o aplicativo. Registre o esquema de URL no arquivo Info.plist
para seu aplicativo da seguinte forma:
Código de ADAL atual: | Equivalente de MSAL: |
O esquema de URL é exclusivo para seu aplicativo. |
O O nome
como um prefixo, seguido pelo seu Por exemplo:
Observação Esse esquema de URL se torna parte do URI de redirecionamento usado para identificar exclusivamente o aplicativo quando ele recebe a resposta do agente. |
Etapa 5: adicionar o identificador do agente à seção LSApplicationQueriesSchemes
A ADAL.NET e a MSAL.NET usam -canOpenURL:
para verificar se o agente está instalado no dispositivo. Adicione o identificador correto para o agente do iOS à seção LSApplicationQueriesSchemes do arquivo info.plist da seguinte maneira:
Código de ADAL atual: | Equivalente de MSAL: |
Usos
|
Usos
|
Etapa 6: registrar o URI de redirecionamento no portal do Azure
ADAL.NET e MSAL.NET adicionam um requisito extra ao URI de redirecionamento ao direcionar o agente. Registre o URI de redirecionamento com seu aplicativo no portal do Azure.
Código de ADAL atual: | Equivalente de MSAL: |
Exemplo:
|
Exemplo:
|
Para obter mais informações sobre como registrar o URI de redirecionamento no portal do Azure, confira Etapa 7: adicionar um URI de redirecionamento ao registro do aplicativo.
Etapa 7: Definir o Entitlements.plist
Habilite o acesso ao conjunto de chaves no arquivo Entitlements.plist:
<key>keychain-access-groups</key>
<array>
<string>$(AppIdentifierPrefix)com.microsoft.adalcache</string>
</array>
Para obter mais informações sobre como habilitar o acesso ao conjunto de chaves, confira Habilitar o acesso ao conjunto de chaves.
Próximas etapas
Saiba mais sobre Considerações específicas de iOS do Xamarin com a MSAL.NET.