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
- Android Studio.
- Un inquilino externo. Si no tiene uno ya, suscríbase para obtener una prueba gratuita.
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:
Inicie sesión en el Centro de administración de Microsoft Entra al menos como Desarrollador de aplicaciones.
Si tiene acceso a varios inquilinos, use el icono Configuración en el menú superior para cambiar al inquilino externo desde el menú Directorios y suscripciones.
Vaya aIdentidad>Aplicaciones>Registros de aplicaciones.
Seleccione + Nuevo registro.
En la página Registrar una aplicación que aparece;
- Introduzca un Nombre de aplicación significativo que se muestre a los usuarios de la aplicación, por ejemplo ciam-client-app.
- En Tipos de cuenta admitidos, seleccione Solo las cuentas de este directorio organizativo.
Seleccione Registrar.
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:
- En Administrar, seleccione Autenticación.
- En la página Configuraciones de plataforma, seleccione Agregar una plataforma y, después, seleccione la opción Android.
- Escriba el nombre del paquete del proyecto. Si descargó el código de ejemplo, este valor es
com.azuresamples.msaldelegatedandroidkotlinsampleapp
. - 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.
- Escriba el hash de firma generado por KeyTool.
- Seleccione Configurar.
- 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.
- Seleccione Listo.
Habilitación del flujo de cliente público
Para identificar la aplicación como cliente público, siga estos pasos:
En Administrar, seleccione Autenticación.
En Configuración avanzada, para Permitir flujos de cliente públicos, seleccione Sí.
Seleccione Guardar para guardar los cambios.
Conceder consentimiento del administrador
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.
En Administrar, seleccione Permisos de API. En la lista Permisos configurados, a la aplicación se le ha asignado el permiso User.Read. Sin embargo, como el inquilino es un inquilino externo, los propios usuarios del consumidor 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:
- Seleccione Conceder consentimiento del administrador para <nombre del inquilino> y seleccione Sí.
- Seleccione Actualizar y luego compruebe que aparece Concedido para <nombre del inquilino> en Estado para ambos ámbitos.
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:
En Android Studio, abra el proyecto que ha clonado.
Abra el archivo /app/src/main/res/raw/auth_config_ciam.json.
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 escontoso.onmicrosoft.com
, usecontoso
. Si no conoce el subdominio del inquilino, aprenda a leer los detalles del inquilino.
Abra el archivo /app/src/main/AndroidManifest.xml.
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.
Abra el archivo /app/src/main/java/com/azuresamples/msaldelegatedandroidkotlinsampleapp/MainActivity.kt.
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:
En la barra de herramientas, seleccione la aplicación en el menú De configuraciones de ejecución.
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.
Haga clic en el botón Ejecutar.
Seleccione Adquirir token de forma interactiva para solicitar un token de acceso.
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