Provisionamento de usuário just-in-time

AEM formulários oferecem suporte ao provisionamento just-in-time de usuários que ainda não existem no Gerenciamento de usuários. Com o provisionamento just-in-time, os usuários são adicionados automaticamente ao Gerenciamento de usuários depois que suas credenciais são autenticadas com êxito. Além disso, funções e grupos relevantes são atribuídos dinamicamente ao novo usuário.

Necessidade de provisionamento de usuário just-in-time

É assim que a autenticação tradicional funciona:

  1. Quando um usuário tenta fazer logon em formulários AEM, o Gerenciamento de usuários transmite as credenciais do usuário sequencialmente para todos os provedores de autenticação disponíveis. As credenciais de logon incluem uma combinação de nome de usuário/senha, ticket Kerberos, assinatura PKCS7 e assim por diante.

  2. O provedor de autenticação valida as credenciais.

  3. O provedor de autenticação verifica se o usuário existe no banco de dados Gerenciamento de usuários. Os seguintes resultados são possíveis:

    Existe: Se o usuário estiver atual e desbloqueado, o Gerenciamento de usuários retornará a autenticação bem-sucedida. No entanto, se o usuário não estiver atualizado ou estiver bloqueado, o Gerenciamento de usuários retornará uma falha de autenticação.

    Não existe: o Gerenciamento de usuários retorna a falha de autenticação.

    Inválido: o Gerenciamento de usuários retorna a falha de autenticação.

  4. O resultado retornado pelo provedor de autenticação é avaliado. Se o provedor de autenticação retornar a autenticação bem-sucedida, o usuário poderá fazer logon. Caso contrário, o Gerenciamento de usuários verifica o próximo provedor de autenticação (etapas 2-3).

  5. A falha de autenticação será retornada se nenhum provedor de autenticação disponível validar as credenciais do usuário.

Quando o provisionamento just-in-time é implementado, um novo usuário é criado dinamicamente no Gerenciamento de usuários se um dos provedores de autenticação validar as credenciais do usuário. (Após a etapa 3 do procedimento de autenticação tradicional, acima).

Implementar provisionamento de usuários just-in-time

APIs para provisionamento just-in-time

Os formulários AEM fornecem as seguintes APIs para provisionamento just-in-time:

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();
}

Considerações ao criar um domínio ativado apenas no tempo

  • Ao criar um IdentityCreator personalizado para um domínio híbrido, certifique-se de que uma senha de teste seja especificada para o usuário local. Não deixe este campo de senha vazio.
  • Recomendação: Use DomainSpecificAuthentication para validar as credenciais do usuário em relação a um domínio específico.

Crie um domínio ativado apenas no tempo

  1. Escreva um DSC que implemente as APIs na seção "APIs para provisionamento just-in-time".

  2. Implante o DSC no servidor de formulários.

  3. Crie um domínio ativado apenas no tempo:

    • No Console de administração, clique em Configurações > Gerenciamento de usuário > Gerenciamento de domínio > Novo domínio corporativo.
    • Configure o domínio e selecione Habilitar provisionamento just in time.
    • Adicione provedores de autenticação. Ao adicionar provedores de autenticação, na tela Nova autenticação, selecione um Criador de identidade e Provedor de atribuição registrados.
  4. Salve o novo domínio.

Nos bastidores

Suponha que um usuário esteja tentando fazer logon nos formulários AEM e que um provedor de autenticação aceite suas credenciais de usuário. Se o usuário ainda não existir no banco de dados Gerenciamento de usuários, a verificação de identidade do usuário falhará. AEM formulários agora executam as seguintes ações:

  1. Crie um objeto UserProvisioningBO com os dados de autenticação e coloque-o em um mapa de credenciais.
  2. Com base nas informações de domínio retornadas por UserProvisioningBO, busque e chame os IdentityCreator e AssignmentProvider registrados para o domínio.
  3. Chame IdentityCreator. Se retornar um AuthResponse bem-sucedido, extraia UserInfo do mapa de credenciais. Passe para AssignmentProvider para atribuição de grupo/função e qualquer outro pós-processamento depois que o usuário for criado.
  4. Se o usuário for criado com êxito, retorne a tentativa de logon pelo usuário como bem-sucedida.
  5. Para domínios híbridos, extraia informações do usuário dos dados de autenticação fornecidos ao provedor de autenticação. Se essas informações forem buscadas com êxito, crie o usuário imediatamente.
OBSERVAÇÃO

O recurso de provisionamento just-in-time é fornecido com uma implementação padrão de IdentityCreator que você pode usar para criar usuários dinamicamente. Os usuários são criados com as informações associadas aos diretórios no domínio.

Nesta página

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now