Compartir vía


Inicio de sesión de usuarios en una aplicación de Android (Kotlin) de ejemplo

En esta guía se muestra cómo configurar una aplicación móvil de Android de ejemplo para iniciar sesión a los usuarios.

En este artículo, realice las tareas siguientes:

  • Registro de una aplicación en el centro de administración de Microsoft Entra.
  • Adición de una URL de redireccionamiento de la plataforma.
  • Habilitación de flujos de clientes públicos.
  • Actualice el archivo de ejemplo de código de configuración de Android para usar su propio identificador externo de Microsoft Entra para los detalles del inquilino del cliente.
  • Ejecute y pruebe la aplicación móvil Android de ejemplo.

Requisitos previos

Registrar una aplicación

Para permitir que su aplicación inicie la sesión de los usuarios con Microsoft Entra, id. externa de Microsoft Entra debe tener en cuenta la aplicación que haya creado. El registro de la aplicación establece una relación de confianza entre la aplicación y Microsoft Entra. Al registrar una aplicación, External ID genera un identificador único conocido como Id. de aplicación (cliente), un valor que se usa para identificar la aplicación al crear solicitudes de autenticación.

En los pasos siguientes, se muestra cómo registrar una aplicación en el centro de administración de Microsoft Entra:

  1. Inicie sesión en el Centro de administración de Microsoft Entra al menos como Desarrollador de aplicaciones.

  2. Si tienes acceso a varios inquilinos, usa el icono Configuración en el menú superior para cambiar al inquilino externo desde el menú Directorios y suscripciones.

  3. Ve aIdentidad>Aplicaciones>Registros de aplicaciones.

  4. Seleccione + Nuevo registro.

  5. En la página Registrar una aplicación que aparece;

    1. Introduzca un Nombre de aplicación significativo que se muestre a los usuarios de la aplicación, por ejemplo ciam-client-app.
    2. En Tipos de cuenta admitidos, seleccione Solo las cuentas de este directorio organizativo.
  6. Seleccione Registrar.

  7. Se muestra el panel Información general de la aplicación tras registrarse correctamente. Registre el Id. de la aplicación (cliente) que se usará en el código fuente de la aplicación.

Adición de una dirección URL de redireccionamiento de la plataforma

Para especificar el tipo de aplicación en el registro de la aplicación, siga estos pasos:

  1. En Administrar, seleccione Autenticación.
  2. En la página Configuraciones de plataforma, seleccione Agregar una plataforma y, después, seleccione la opción Android.
  3. Escriba el nombre del paquete del proyecto. Si descargó el código de ejemplo, este valor es com.azuresamples.msaldelegatedandroidkotlinsampleapp.
  4. En la sección Hash de firma del panel Configurar su aplicación para Android, seleccione Se está generando un hash de firma de desarrollo. Esto cambiará para cada entorno de desarrollo. Copie y ejecute el comando KeyTool para el sistema operativo en el terminal.
  5. Escriba el hash de firma generado por KeyTool.
  6. Seleccione Configurar.
  7. Copie la Configuración de MSAL desde el panel Configuración de Android y guárdela para la configuración posterior de la aplicación.
  8. Seleccione Listo.

Habilitación del flujo de cliente público

Para identificar la aplicación como cliente público, siga estos pasos:

  1. En Administrar, seleccione Autenticación.

  2. En Configuración avanzada, para Permitir flujos de cliente públicos, seleccione .

  3. Seleccione Guardar para guardar los cambios.

Cuando registre la aplicación, se le asignará el permiso User.Read. Sin embargo, dado que el inquilino es un inquilino externo, los propios usuarios del cliente no pueden dar su consentimiento a este permiso. Como administrador, debe dar el consentimiento a este permiso en nombre de todos los usuarios del inquilino:

  1. En la página Registros de aplicaciones, seleccione la aplicación que creó (como ciam-client-app) para abrir la página Información general.

  2. En Administrar, seleccione Permisos de API.

    1. Seleccione Conceder consentimiento del administrador para <nombre del inquilino> y seleccione .
    2. Seleccione Actualizar, luego compruebe que Concedido para <su nombre de inquilino> aparece en el Estado del permiso.

Clonación de una aplicación móvil Android de ejemplo

Para obtener la aplicación de ejemplo, puede clonarla desde GitHub o descargarla como archivo .zip.

  • Para clonar la muestra, abra un símbolo del sistema y navegue hasta donde desea crear el proyecto, e introduzca el siguiente comando:

    git clone https://github.com/Azure-Samples/ms-identity-ciam-browser-delegated-android-sample
    

Configuración de la aplicación móvil Android de ejemplo

Para habilitar la autenticación y el acceso a los recursos de Microsoft Graph, configure el ejemplo siguiendo estos pasos:

  1. En Android Studio, abra el proyecto que ha clonado.

  2. Abra el archivo /app/src/main/res/raw/auth_config_ciam.json.

  3. Busque el marcador de posición:

    • Enter_the_Application_Id_Here y reemplácelo por el identificador de aplicación (cliente) de la aplicación que registró anteriormente.
    • Enter_the_Redirect_Uri_Here y reemplácelo por el valor de redirect_uri en el archivo de configuración de la Biblioteca de autenticación de Microsoft (MSAL) que descargó anteriormente al agregar la URL de redireccionamiento de la plataforma.
    • Enter_the_Tenant_Subdomain_Here y reemplácelo por el subdominio del directorio (inquilino). Por ejemplo, si el dominio principal del inquilino es contoso.onmicrosoft.com, use contoso. Si no conoce el subdominio del inquilino, aprenda a leer los detalles del inquilino.
  4. Abra el archivo /app/src/main/AndroidManifest.xml.

  5. Busque el marcador de posición:

    • ENTER_YOUR_SIGNATURE_HASH_HERE y reemplácelo por el hash de firma que generó anteriormente al agregar la dirección URL de redirección de la plataforma.
  6. Abra el archivo /app/src/main/java/com/azuresamples/msaldelegatedandroidkotlinsampleapp/MainActivity.kt.

  7. Busque la propiedad denominada scopes y establezca los ámbitos registrados en Conceder consentimiento del administrador. Si no ha registrado ningún ámbito, puede dejar esta lista de ámbitos vacía.

    private const val scopes = "" // Developers should set the respective scopes of their Microsoft Graph resources here. For example, private const val scopes = "api://{clientId}/{ToDoList.Read} api://{clientId}/{ToDoList.ReadWrite}"
    

Configuró la aplicación y está lista para su ejecución.

Ejecución y prueba de la aplicación móvil Android de ejemplo

Para compilar y ejecutar la aplicación, siga estos pasos:

  1. En la barra de herramientas, seleccione la aplicación en el menú De configuraciones de ejecución.

  2. En el menú del dispositivo de destino, seleccione el dispositivo en el que quiere ejecutar la aplicación.

    Si no tiene ningún dispositivo configurado, debe crear un dispositivo virtual Android para usar Android Emulator o conectar un dispositivo Android físico.

  3. Haga clic en el botón Ejecutar.

  4. Seleccione Adquirir token de forma interactiva para solicitar un token de acceso.

  5. Si selecciona API - Realizar GET para llamar a una API web ASP.NET Core protegida, obtendrá un error.

Para obtener más información sobre cómo llamar a una API web protegida, vea nuestros pasos siguientes

Pasos siguientes