Hello,
I have configured a JDBC Synchronization, but when I run it there is a strange behavior:
I can correctly see the new user attributes, but I cannot see the new Account entry listed under “User Identities”, as is for other managed systems:
Can anyone help me to solve the issue?
Hello Francesco,
Are you using the default (classic) view which shows all of the fields, or a template view?
Also, can you please share your policy map?
Thanks,
Ameet
Hello Ameet,
I am using the classic view, regarding the policy map there is any configured policy right now.
Am I supposed to configure one?
Regards,
Francesco
Hello Francesco,
In your transformation script you may be missing the login object for the JDBC-based managed system. As an example, in our AD synch script we have the following code:
String AD_MANAGED_SYS_ID = "active_dir_win02_managed_sys_id";
if (KEEP_AD_ID && isNewUser) {
println(" - Processing PrincipalName and DN")
//attrVal = columnMap.get("sAMAccountName")
if (attrVal) {
// PRE-POPULATE THE USER LOGIN. IN SOME CASES THE COMPANY WANTS TO KEEP THE LOGIN THAT THEY HAVE
// THIS SHOWS HOW WE CAN DO THAT
def lg = new Login()
lg.operation = AttributeOperationEnum.ADD
lg.login = attrVal.value
lg.managedSysId = "0"
lg.setActive(true)
pUser.principalList.add(lg)
Login lg2 = new Login()
lg2.operation = AttributeOperationEnum.ADD
lg2.login = attrVal.value
lg2.managedSysId = AD_MANAGED_SYS_ID
lg2.setActive(true)
pUser.principalList.add(lg2)
}
}
Please note the login object in the second part of the script – you need to add this to your transformation script. I will follow up with our team so that they add this to the out-of-the-box scripts.
Thanks,
Ameet
1 Like
Hello Ameet,
many thanks.
Can I ask you why there is a first login record set with managedSysId = “0”, what is the purpose of that?
Regards,
Francesco
Hello Francesco,
That managedSysId refers to the OpenIAM managed system. It is the only managed system that has a set value.
Ameet