Migración de aplicaciones de iOS que usan Microsoft Authenticator de ADAL.NET a MSAL.NET
Ha estado usando la biblioteca de autenticación de Azure Active Directory para .NET (ADAL.NET) y el agente de iOS. Ahora es el momento de migrar a la biblioteca de autenticación de Microsoft para .NET (MSAL.net), que es compatible con el agente de iOS de la versión 4.3 en adelante.
¿Por dónde debe empezar? Este artículo le ayuda a migrar la aplicación de Xamarin iOS de ADAL a MSAL.
Prerrequisitos
En este documento se supone que ya tiene una aplicación de Xamarin iOS que se integra con el agente de iOS. Si no es así, pase directamente a MSAL.NET y comience ahí la implementación del agente. Para información sobre cómo invocar el agente de iOS en MSAL.net con una nueva aplicación, consulte esta documentación.
Información previa
¿Qué son los agentes?
Los agentes son aplicaciones proporcionadas por Microsoft en Android e iOS. (Consulte la aplicación Microsoft Authenticator en iOS y Android y la aplicación del Portal de empresa de Intune en Android).
Habilitan lo siguiente:
- Inicio de sesión único.
- Identificación del dispositivo, que requieren algunas directivas de acceso condicional. Para más información, consulte Administración de dispositivos.
- Comprobación de identificación de la aplicación, que también es necesaria en algunos escenarios empresariales. Para más información, consulte Administración de aplicaciones móviles (MAM) de Intune.
Migración de ADAL a MSAL
Paso 1: Habilitar el agente
Código de ADAL actual: | Homólogo de MSAL: |
En ADAL.NET, la compatibilidad con el agente se habilitaba en cada contexto de autenticación. De forma predeterminada, está deshabilitada. Tenía que establecer una marca
Además, en el código específico de la plataforma de este ejemplo, en el representador de páginas para iOS, establezca el valor de la marca
A continuación, incluya los parámetros en la llamada de adquisición de token:
|
En MSAL.NET, la compatibilidad con el agente se habilita según el elemento PublicClientApplication. De forma predeterminada, está deshabilitada. Para habilitarla, use el parámetro
En la llamada al token de adquisición:
|
Paso 2: Establecer un UIViewController()
En ADAL.NET, se pasaba UIViewController como parte de PlatformParameters
. (Vea el ejemplo del paso 1). Sin embargo, en MSAL.NET, para ofrecer a los desarrolladores una mayor flexibilidad, se usa una ventana de objeto, pero no hace falta con el uso normal de iOS. Para usar el agente, establezca la ventana de objeto para enviar y recibir respuestas del agente.
Código de ADAL actual: | Homólogo de MSAL: |
Se pasaba UIViewController a
|
En MSAL.NET, deberá hacer dos cosas para establecer la ventana de objeto para iOS:
Por ejemplo: En
En
En la llamada al token de adquisición:
|
Paso 3: Actualizar AppDelegate para controlar la devolución de llamada
Tanto ADAL como MSAL llaman al agente y, el agente, a su vez, devuelve la llamada a la aplicación con el método OpenUrl
de la clase AppDelegate
. Para obtener más información, consulte esta documentación.
No hay ningún cambio aquí entre ADAL.NET y MSAL.NET.
Paso 4: Registrar un esquema de dirección URL
ADAL.NET y MSAL.NET usan direcciones URL para invocar al agente y devolver la respuesta del agente a la aplicación. Registre el esquema de dirección URL en el archivo Info.plist
de la aplicación de la siguiente manera:
Código de ADAL actual: | Homólogo de MSAL: |
El esquema de dirección URL es exclusivo de la aplicación. |
El el nombre de
como prefijo, seguido del Por ejemplo:
Nota: Este esquema de dirección URL se convierte en parte del URI de redirección que se usa para identificar de forma única la aplicación cuando recibe la respuesta del agente. |
Paso 5: Agregar el identificador de agente a la sección LSApplicationQueriesSchemes
ADAL.NET y MSAL.NET usan -canOpenURL:
para comprobar si el agente está instalado en el dispositivo. Agregue el identificador correcto para el agente de iOS a la sección LSApplicationQueriesSchemes del archivo info.plist de la siguiente manera:
Código de ADAL actual: | Homólogo de MSAL: |
Usos
|
Usos
|
Paso 6: Registro del identificador URI de redirección en Azure Portal
ADAL.NET y MSAL.NET agregan un requisito adicional al URI de redirección cuando se dirige al agente. Registre el identificador URI de redirección con la aplicación en Azure Portal.
Código de ADAL actual: | Homólogo de MSAL: |
Ejemplo:
|
Ejemplo:
|
Para más información sobre cómo registrar el identificador URI de redirección en Azure Portal, consulte Paso 7: Adición de un identificador URI de redirección al registro de la aplicación.
Paso 7: Establecimiento del archivo Entitlements.plist
Habilite el acceso a la cadena de claves en el archivo Entitlements.plist:
<key>keychain-access-groups</key>
<array>
<string>$(AppIdentifierPrefix)com.microsoft.adalcache</string>
</array>
Para más información sobre cómo habilitar el acceso a la cadena de claves, consulte Habilitación del acceso a la cadena de claves.
Pasos siguientes
Obtenga información sobre las Consideraciones específicas de Xamarin iOS con MSAL.NET.