Migrar aplicativos iOS que usam o Microsoft Authenticator do ADAL.NET para o MSAL.NET
Você tem usado a Biblioteca de Autenticação do Ative Directory do Azure para .NET (ADAL.NET) e o agente iOS. Agora é hora de migrar para a Biblioteca de Autenticação da Microsoft para .NET (MSAL.NET), que suporta o broker no iOS a partir da versão 4.3.
Por onde começar? Este artigo ajuda você a migrar seu aplicativo Xamarin iOS da ADAL para a MSAL.
Pré-requisitos
Este artigo pressupõe que você já tenha um aplicativo Xamarin iOS integrado ao corretor iOS. Se não o fizer, mova diretamente para MSAL.NET e comece a implementação do broker lá. Para obter informações sobre como invocar o agente iOS em MSAL.NET com um novo aplicativo, consulte esta documentação.
Fundo
O que são corretores?
Brokers são aplicativos fornecidos pela Microsoft no Android e iOS. (Veja o Aplicação Microsoft Authenticator no iOS e Android e a aplicação Portal da Empresa do Intune no Android.)
Permitem:
- Logon único.
- Identificação do dispositivo, que é exigida por algumas políticas de Acesso Condicional. Para obter mais informações, consulte Gerenciamento de dispositivos.
- Verificação de identificação de aplicativos, que também é necessária em alguns cenários corporativos. Para obter mais informações, consulte Gerenciamento de aplicativos móveis (MAM) do Intune.
Migrar da ADAL para a MSAL
Etapa 1: Habilitar o broker
Código ADAL atual: | Contrapartida MSAL: |
Em ADAL.NET, o suporte ao broker foi habilitado por contexto de autenticação. Está desativada por predefinição. Você tinha que definir um
Além disso, no código específico da plataforma, neste exemplo, no renderizador de página para iOS, defina o
Em seguida, inclua os parâmetros na chamada de token de aquisição:
|
No MSAL.NET, o suporte ao broker é habilitado por PublicClientApplication. Está desativada por predefinição. Para habilitá-lo, use o botão
Na chamada de token de aquisição:
|
Etapa 2: Definir um UIViewController()
No ADAL.NET, você passou em um UIViewController como parte do PlatformParameters
. (Veja o exemplo na Etapa 1.) Além MSAL.NET, para dar mais flexibilidade aos desenvolvedores, uma janela de objeto é usada, mas não é necessária no uso regular do iOS. Para usar o broker, defina a janela do objeto para enviar e receber respostas do broker.
Código ADAL atual: | Contrapartida MSAL: |
Um UIViewController é passado para
|
No MSAL.NET, você faz duas coisas para definir a janela de objeto para iOS:
Por exemplo: Em
Em
Na chamada de token de aquisição:
|
Etapa 3: Atualizar o AppDelegate para lidar com o retorno de chamada
Tanto a ADAL quanto a MSAL chamam o broker, e o broker, por sua vez, chama de volta para seu aplicativo por meio do OpenUrl
método da AppDelegate
classe. Para obter mais informações, consulte esta documentação.
Não há alterações aqui entre ADAL.NET e MSAL.NET.
Etapa 4: Registrar um esquema de URL
ADAL.NET e MSAL.NET usam URLs para invocar o broker e retornar a resposta do broker de volta ao aplicativo. Registe o esquema de URL no ficheiro da Info.plist
sua aplicação da seguinte forma:
Código ADAL atual: | Contrapartida MSAL: |
O esquema de URL é exclusivo para seu aplicativo. |
O
como um prefixo, seguido pelo seu Por exemplo:
Nota Esse esquema de URL torna-se parte do URI de redirecionamento usado para identificar exclusivamente o aplicativo quando ele recebe a resposta do broker. |
Etapa 5: Adicionar o identificador do broker à seção LSApplicationQueriesSchemes
ADAL.NET e MSAL.NET ambos usam -canOpenURL:
para verificar se o broker está instalado no dispositivo. Adicione o identificador correto para o broker iOS à seção LSApplicationQueriesSchemes do arquivo info.plist da seguinte maneira:
Código ADAL atual: | Contrapartida MSAL: |
Utilizações
|
Utilizações
|
Etapa 6: Registrar seu URI de redirecionamento no portal do Azure
ADAL.NET e MSAL.NET adicionam um requisito extra no URI de redirecionamento quando ele tem como alvo o corretor. Registre o URI de redirecionamento com seu aplicativo no portal do Azure.
Código ADAL atual: | Contrapartida MSAL: |
Exemplo:
|
Exemplo:
|
Para obter mais informações sobre como registrar o URI de redirecionamento no portal do Azure, consulte Etapa 7: adicionar um URI de redirecionamento ao registro do seu aplicativo.
Etapa 7: Definir o Entitlements.plist
Habilite o acesso às 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 às chaves, consulte Habilitar o acesso às chaves.
Próximos passos
Saiba mais sobre as considerações específicas do Xamarin iOS com o MSAL.NET.