AEM formularios admite el aprovisionamiento justo a tiempo de usuarios que aún no existen en Administración de usuarios. Con el aprovisionamiento justo a tiempo, los usuarios se agregan automáticamente a Administración de usuarios después de autenticar correctamente sus credenciales. Además, las funciones y los grupos relevantes se asignan de forma dinámica al nuevo usuario.
Así es como funciona la autenticación tradicional:
Cuando un usuario intenta iniciar sesión en formularios AEM, Administración de usuarios pasa las credenciales del usuario secuencialmente a todos los proveedores de autenticación disponibles. (Las credenciales de inicio de sesión incluyen una combinación de nombre de usuario y contraseña, vale Kerberos, firma PKCS7, etc.)
El proveedor de autenticación valida las credenciales.
A continuación, el proveedor de autenticación comprueba si el usuario existe en la base de datos de Administración de usuarios. Los siguientes son posibles resultados:
Existe: Si el usuario está actualizado y desbloqueado, Administración de usuarios devuelve la autenticación correcta. Sin embargo, si el usuario no está actualizado o está bloqueado, Administración de usuarios devuelve un error de autenticación.
No existe:Administración de usuarios devuelve un error de autenticación.
No válido:Administración de usuarios devuelve un error de autenticación.
Se evalúa el resultado devuelto por el proveedor de autenticación. Si el proveedor de autenticación devolvió la autenticación correctamente, se permite al usuario iniciar sesión. De lo contrario, la Administración de usuarios comprueba con el siguiente proveedor de autenticación (pasos 2 a 3).
Se devuelve un error de autenticación si ningún proveedor de autenticación disponible valida las credenciales de usuario.
Cuando se implementa el aprovisionamiento justo a tiempo, se crea dinámicamente un nuevo usuario en Administración de usuarios si uno de los proveedores de autenticación valida las credenciales del usuario. (Después del paso 3 del procedimiento de autenticación tradicional, arriba).
AEM formularios proporciona las siguientes API para el aprovisionamiento justo a tiempo:
package com.adobe.idp.um.spi.authentication ;
publ ic interface IdentityCreator {
/**
* Tries to create a user with the in formation provided in the <code>UserProvisioningBO</code> object.
* If the user is successfully created, a valid AuthResponse is returned along with the information using which the user was created.
* It is the responsibility of the IdentityCreator to set the User obje ct in the cre dential map with th e ke y <code>UMA u thenticationUtil.authenticatedUserKey</code>
* The credentials are available in the <code>UserProvisioningBO</code> object in the 'credentials' property.
* If the IdentityCreator is unable to create a user due to any reason, it returns <code>null</code>
* @param userBO An object of <code>com.adobe. i dp.um . spi.authenti c ationUserProvisioningBO</code>
* @return */public AuthResponse create(UserProvisioningBO userBO);
/**
* Returns the name of the IdentityCreator which will be registered in preferences.
* This name is used to associate the IdentityProvider with the Auth Provider Configuration in the domain.
* @return The name of the Identity Creator which is recognized in Configuration.
*/
public String getName();
}
package com.adobe.idp.um.spi.authentication;
import com.adobe.idp.um.api.infomodel.User;
public interface AssignmentProvider {
/**
* Tries to assign roles or permissions or group memberships to users created via Just-in-time provisioning.
* @param user The User created via the Just-in-time provisioning process.
* @return a Boolean flag indicating whether the assignment was successful or not.
*/
public Boolean assign(User user);
/**
* Returns the name of the AssignmentProvider through which it is registered under preferences.
* This name is used to associate the AssignmentProvider with the Auth Provider Configuration in the domain.
* @return The name of the AssignmentProvider which is recognized in Configuration.
*/public String getName();
}
IdentityCreator
personalizado para un dominio híbrido, asegúrese de que se especifica una contraseña ficticia para el usuario local. No deje vacío este campo de contraseña.DomainSpecificAuthentication
para validar las credenciales de usuario en un dominio específico.Escriba una DSC para implementar las API en la sección "API para aprovisionamiento justo a tiempo".
Implementar DSC en el servidor de formularios.
Cree un dominio con tiempo justo:
Guarde el nuevo dominio.
Supongamos que un usuario intenta iniciar sesión en AEM formularios y que un proveedor de autenticación acepta sus credenciales de usuario. Si el usuario aún no existe en la base de datos de Administración de usuarios, se produce un error en la comprobación de identidad del usuario. AEM formularios ahora realiza las siguientes acciones:
UserProvisioningBO
con los datos de autenticación y colóquelo en un mapa de credenciales.UserProvisioningBO
, busque e invoque los IdentityCreator
y AssignmentProvider
registrados para el dominio.IdentityCreator
. Si devuelve un AuthResponse
correcto, extraiga UserInfo
del mapa de credenciales. Páselo a AssignmentProvider
para la asignación de grupo/función y cualquier otro posprocesamiento después de crear el usuario.La función de aprovisionamiento justo a tiempo incluye una implementación predeterminada de IdentityCreator
que puede utilizar para crear usuarios de forma dinámica. Los usuarios se crean con la información asociada a los directorios del dominio.