Registro previo de futuros usuarios
Con IBM Cloud® App ID puede empezar a crear un perfil para los usuarios que sabe que van a necesitar acceso a la app antes de su primer inicio de sesión.
Para obtener más información sobre las consideraciones de seguridad que se pueden aplicar al trabajar con atributos personalizados, consulte Almacenamiento y acceso a los perfiles de usuario.
Visión general del registro previo
Es posible que haya veces en que esté desarrollando una aplicación y que ya sepa quienes van a ser los usuarios de la app. Estos usuarios se conocen como "usuarios futuros". Puede que sepa de antemano que ciertos usuarios necesitan
unos niveles de permiso específicos o una preferencia de comida concreta antes de que empiecen a interaccionar con la app. Por ejemplo, imagine que trabaja para una empresa de desarrollo y contrata a una nueva persona para realizar la función
de líder de equipo. Es posible que desee asignar a ese usuario acceso de admin a la app antes de empiece, de modo que cuando inicie sesión por primera vez, pueda empezar a trabajar inmediatamente sin ninguna otra interacción por
su parte. Imaginemos que esa persona es vegetariana. Anotándolo como un atributo personalizado en su perfil, se puede obtener la preferencia para todos los almuerzos de equipo sin que el usuario tenga que recordárselo.
De forma predeterminada, la capacidad de los usuarios para cambiar sus atributos personalizados a través de la aplicación está desactivada. Puede dar a los usuarios esa capacidad, pero antes debe asegurarse de que entiende y ha pensado los problemas de seguridad que pueden surgir.
Para asignar atributos personalizados a futuros usuarios, puede utilizar la GUI o el punto final de registro previo.
¿Cómo se identifican los usuarios?
Puede identificar los usuarios utilizando lo siguiente:
- La dirección de correo electrónico con la que el usuario inicia sesión en la app.
- Si está disponible, el ID exclusivo del usuario, denominado GUID, en el proveedor de identidad. Aunque este identificador siempre existe y es único, no siempre está disponible ni es fácil de comprender. Por ejemplo, el Directorio en la nube utiliza un GUID de 16 bytes.
¿Qué información proporcionan los proveedores de identidad?
Consulte la tabla siguiente para ver qué tipo de información de identidad puede utilizar.
| Proveedor de identidad | GUID | Correo electrónico | Sub |
|---|---|---|---|
| Cloud Directory | |||
| SAML | |||
| Personalizado |
¿Cómo se maneja el directorio en la nube?
Para garantizar la integridad de un futuro usuario, Cloud Directory impone requisitos de prerregistro.
- Debe utilizar un correo electrónico, no un nombre de usuario, para añadir el usuario. Si todavía no tiene usuarios, cambie a la modalidad de correo electrónico y contraseña para añadir futuros usuarios. Si ya tiene usuarios, debe esperar a que el usuario haya iniciado sesión para asignarle atributos personalizados.
- El usuario debe confirmar su identidad mediante la verificación. Cuando se añade un futuro usuario con atributos específicos, estos atributos están pensados para esa persona. Si un usuario inicia sesión utilizando un correo electrónico que
está registrado para un futuro usuario, debe verificar su dirección de correo electrónico para que se le pueda otorgar acceder a la app. Para completar los requisitos de verificación, puede enviar un correo electrónico para que el usuario
la verifique, o bien puede verificar manualmente su dirección en su lugar. Para permitir la autoverificación, establezca Verificación por correo electrónico en Activado en el separador Directorio en la nube del panel de control de servicio. De esta forma, se envía un correo electrónico al usuario para solicitar la verificación cuando inicia sesión por primera vez. Para verificar los usuarios de forma manual, debe ser administrador. Realice
una solicitud a las API de gestión de Cloud Directory para
establecer el campo
statusde la carga útil enCONFIRMED.
Si añade un futuro usuario y éste inicia sesión en la app sin que se haya verificado su correo electrónico, sus atributos personalizados se suprimen y se crea un perfil nuevo desde cero.
¿Tengo que hacer algo especial cuando utilice un proveedor de identidad personalizado?
Cuando añada información de usuario a la aplicación por adelantado, podrá utilizar cualquier identificador exclusivo proporcionado por el flujo de autenticación. El identificador debe coincidir exactamente con el sub de la señal web JSON firmada que se envía durante la solicitud de autorización. Si el identificador no coincide, significa que el perfil que desea añadir no se ha enlazado correctamente.
Adición de un futuro usuario
Ahora que ha aprendido sobre el proceso y ha considerado las implicaciones de seguridad, intente añadir un usuario.
Los atributos predefinidos de un usuario están vacíos hasta el momento de su primera autenticación. Aunque están vacíos, el usuario sigue estando totalmente autenticado. Puede utilizar su ID de perfil tal y como lo haría con alguien que ya ha iniciado sesión. Por ejemplo, puede modificar, buscar o suprimir el perfil.
Antes de empezar
Antes de empezar, debe disponer de la siguiente información:
- El proveedor de identidad con el que el usuario iniciará la sesión.
- El correo electrónico del usuario que desea añadir o su identificador exclusivo.
- La información de atributos personalizados que desea asignar.
Con la GUI
Puede añadir un usuario futuro y sus atributos personalizados utilizando la GUI.
La posibilidad de añadir usuarios futuros está inhabilitada para la configuración de nombre de usuario y contraseña del Directorio en la nube.
-
Vaya al separador Perfiles de usuario del panel de control de App ID.
-
Pulse Usuarios futuros. Si ya tiene usuarios futuros, verá una tabla con una lista de los usuarios que ya ha añadido. Para añadir otro usuario, pulse Crear un perfil. Si todavía no tiene usuarios, pulse Empezar. Se abre una pantalla.
-
Introduzca el correo electrónico del usuario.
-
Seleccione el proveedor de identidad con el que iniciará la sesión en el menú desplegable Proveedor de identidad.
-
Añada atributos personalizados especificando la información en un objeto JSON tal como se muestra en el ejemplo siguiente.
{ "food": "Pizza", "preference": "Vegetarian", "points": "37" } -
Pulse Guardar. Se visualiza la tabla y se asigna un identificador al usuario.
Con la API
Puede añadir un usuario futuro y sus atributos personalizados utilizando la API.
-
Inicie sesión en IBM Cloud.
ibmcloud login -
Busque la señal de IAM ejecutando el mandato siguiente.
ibmcloud iam oauth-tokens -
Realice una solicitud POST en el punto final
/usersque contenga una descripción del usuario y los atributos que desea establecer como objeto JSON.Cabecera:
POST <managementUrl>/management/v4/<tenantID>/users Host: <managementServerURL> Authorization: 'Bearer <IAMToken>' Content-Type: application/jsonCuerpo:
{ "idp": "<identityProvider>", "idp-identity": "<userUniqueIdentifier>", "profile": { "attributes": { "mealPreference":"vegeterian" } } }Los componentes de la solicitud POST Componentes Descripción idpEl proveedor de identidad con el que se autenticará el usuario. Las opciones incluyen: saml,cloud_directory,facebook,google,appid_custom.idp-identityEl identificador único proporcionado por el proveedor de identidad. profileEl perfil del usuario que contiene la correlación JSON del atributo personalizado. Solicitud de ejemplo:
$ curl --request POST \ --url 'https://<managementURI>/users \ --header 'Authorization: Bearer <IAMToken>' \ --header 'Content-Type: application/json' \ --data '{"idp": "saml", "idp-identity": "user@ibm.com", "profile": { "attributes": { "role": "admin", "frequent_flyer_points": 1000 }}}' -
Verifique que el registro se ha realizado satisfactoriamente.
-
Compruebe el perfil de usuario que se ha creado.
curl --request GET https://us-south.appid.cloud.ibm.com/management/v4/<tenantID>/users/<userProfileId>/profile \ --header 'Authorization: Bearer <IAMToken>' \ --header 'Content-Type: application/json' \ -
Compruebe el ID de usuario en la respuesta.
{ "id": "5ce78e09-1356-4ef8-a45d-808b633101db", "identities": [], "attributes": { "role": "manager" } }
-
Próximos pasos
Ahora que ha asociado un usuario futuro a unos atributos específicos, intente acceder o actualizar atributos.