적시 사용자 프로비저닝 just-in-time-user-provisioning
AEM Forms는 사용자 관리에 아직 존재하지 않는 사용자의 적시 프로비저닝을 지원합니다. 적시 프로비저닝을 사용하면 자격 증명이 성공적으로 인증되면 사용자가 사용자 관리에 자동으로 추가됩니다. 또한 관련 역할 및 그룹이 새 사용자에게 동적으로 할당됩니다.
적시 사용자 프로비저닝 필요 need-for-just-in-time-user-provisioning
기존 인증이 작동하는 방식입니다.
-
사용자가 AEM Forms에 로그인하려고 하면 사용자 관리에서 사용자의 자격 증명을 사용 가능한 모든 인증 공급자에 순차적으로 전달합니다. 로그인 자격 증명에는 사용자 이름/암호 조합, Kerberos 티켓, PKCS7 서명 등이 포함됩니다.
-
인증 공급자가 자격 증명을 확인합니다.
-
그런 다음 인증 공급자가 사용자가 User Management 데이터베이스에 있는지 확인합니다. 다음 결과가 가능합니다.
존재함: 사용자가 현재 잠금상태이고 잠금이 해제된 경우 사용자 관리는 인증 성공을 반환합니다. 그러나 사용자가 현재 상태가 아니거나 잠겨 있으면 사용자 관리에서 인증 오류를 반환합니다.
존재하지 않음: 사용자 관리가 인증 오류를 반환합니다.
유효하지 않음: 사용자 관리가 인증 오류를 반환합니다.
-
인증 공급자가 반환한 결과를 평가합니다. 인증 공급자가 인증 성공을 반환하면 사용자가 로그인할 수 있습니다. 그렇지 않으면 사용자 관리에서 다음 인증 공급자를 확인합니다(2-3단계).
-
사용 가능한 인증 공급자가 사용자 자격 증명을 확인하지 않으면 인증 오류가 반환됩니다.
적시 프로비저닝이 구현되면 인증 공급자 중 하나가 사용자 자격 증명을 검증하면 사용자 관리에서 새 사용자가 동적으로 생성됩니다. (위의 기존 인증 절차의 3단계 이후).
적시 사용자 프로비저닝 구현 implement-just-in-time-user-provisioning
적시 프로비저닝을 위한 API apis-for-just-in-time-provisioning
AEM Forms는 적시 프로비저닝을 위해 다음 API를 제공합니다.
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();
}
적시 사용 도메인을 만드는 동안 고려 사항 considerations-while-creating-a-just-in-time-enabled-domain
- 사용자 지정 항목을 만드는 동안
IdentityCreator
하이브리드 도메인의 경우 로컬 사용자에 대해 더미 암호가 지정되어 있는지 확인하십시오. 이 암호 필드를 비워 두지 마십시오. - 권장 사항: 사용
DomainSpecificAuthentication
을 눌러 특정 도메인에 대해 사용자 자격 증명을 검증합니다.
적시 사용 도메인 만들기 create-a-just-in-time-enabled-domain
-
API를 구현하는 DSC를 "적시 프로비저닝을 위한 API" 섹션에 작성합니다.
-
Forms 서버에 DSC를 배포합니다.
-
적시 사용 도메인을 만듭니다.
- 관리 콘솔에서 설정 > 사용자 관리 > 도메인 관리 > 새 엔터프라이즈 도메인을 클릭합니다.
- 도메인을 구성하고 Enable Just In Time Provisioning 을 선택합니다.
- 인증 공급자를 추가합니다. 인증 공급자를 추가하는 동안 새 인증 화면에서 등록된 Identity Creator 및 할당 공급자를 선택합니다.
-
새 도메인을 저장합니다.
뒷면 behind-the-scenes
사용자가 AEM Forms에 로그인하려고 하는데 인증 공급자가 사용자 자격 증명을 수락한다고 가정합니다. 사용자가 아직 사용자 관리 데이터베이스에 없으면 사용자에 대한 ID 검사가 실패합니다. 이제 AEM Forms에서 다음 작업을 수행합니다.
- 만들기
UserProvisioningBO
인증 데이터가 있는 개체를 자격 증명 맵에 배치합니다. - 에서 반환한 도메인 정보 기반
UserProvisioningBO
, 등록된 항목을 가져와 호출합니다IdentityCreator
및AssignmentProvider
참조하십시오. - 호출
IdentityCreator
. 성공하면AuthResponse
, 추출UserInfo
자격 증명 맵에서 가져옵니다. 에 전달합니다.AssignmentProvider
그룹/역할 할당 및 사용자가 생성된 후 다른 모든 사후 처리용. - 사용자가 성공적으로 만들어지면 사용자의 로그인 시도를 성공한 것으로 반환합니다.
- 하이브리드 도메인의 경우 인증 공급자에 제공된 인증 데이터에서 사용자 정보를 가져옵니다. 이 정보를 성공적으로 가져오는 경우 즉시 사용자를 만듭니다.
IdentityCreator
사용자를 동적으로 만드는 데 사용할 수 있습니다. 사용자는 도메인의 디렉토리와 연관된 정보로 생성됩니다.