<div dir="auto"><div style="font-family:sans-serif;font-size:12.8px" dir="auto"><div style="width:380.19px;margin:16px 0px"><div><div><div><p>Hello Pavol,<u></u><u></u></p><p><u></u> <u></u></p><p>Thank you for the suggested workaround and the jira issue, but I could not make it work. The closest I got was :<u></u><u></u></p><p><u></u> <u></u></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)">def delta = DeltaBuilder.deltaFor(ShadowType.class, prismContext)<u></u><u></u></span></p><p style="text-indent:35.4pt;line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)">.item(ItemPath.create(ShadowType.F_ATTRIBUTES, "pwdReset"), pwdResetDefinition)<u></u><u></u></span></p><p style="text-indent:35.4pt;line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)">.replace("TRUE")<u></u><u></u></span></p><p style="text-indent:35.4pt;line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)">.asObjectDelta(projection.getOid())<u></u><u></u></span></p><p><u></u> <u></u></p><p>But, I don’t know how to get the ResourceAttributeDefinition for my pwdResetDefinition variable.<u></u><u></u></p><p><u></u> <u></u></p><p>As I workaround, I tried to modify the user’s credentials/password/forceChange attribute and add a mapping to the ri :pwdReset attribute but I also could not make it work. The deltabuilder in the credential mapping works, I can see that the user’s forceChange attribute is set to TRUE when I edit the password throught the GUI, <b>but this change is not synced to the resource</b>.<u></u><u></u></p><p><u></u> <u></u></p><p>How could this behaviour be explained? What am I missing?<u></u><u></u></p><p><u></u> <u></u></p><p>I checked that my pwdReset outbound mapping works : if I manually set the forceChange attribute through the GUI, then the resource’s pwdReset attribute is set to TRUE.<u></u><u></u></p><p><u></u> <u></u></p><p>For reference, the aforementioned mappings :<u></u><u></u></p><p><u></u> <u></u></p><p><u></u> <u></u></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:gray"><</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">credentials</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"><</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">password</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"><</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">outbound</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"><</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">name</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)">Password and pwdReset (to force the password reset by user)</span><span style="font-size:10.5pt;font-family:'consolas';color:gray"></</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">name</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"><</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">strength</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)">strong</span><span style="font-size:10.5pt;font-family:'consolas';color:gray"></</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">strength</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"><</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">channel</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><a href="http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user%3C/channel" style="text-decoration-line:none;color:rgb(66,133,244)">http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user<span style="font-size:11pt;font-family:calibri,sans-serif;color:gray"></</span><span style="font-size:11pt;font-family:calibri,sans-serif;color:rgb(86,156,214)">c</span><span style="color:rgb(86,156,214)">hanne</span><span style="font-size:11pt;font-family:calibri,sans-serif;color:rgb(86,156,214)">l</span></a></span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"><</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">expression</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"><</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">script</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"><</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">code</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> // If password modification comes from an Midpoint admin (channel #user), then we set the credentials/password/forceChange user’s attribute to true, which will then be synced to the Open LDAP pwdReset attribute (this will force the user to reset his password)<u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> <u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> import com.evolveum.midpoint.prism.impl.delta.builder.*<u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> import com.evolveum.midpoint.xml.ns._public.common.common_3.*<u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> import com.evolveum.prism.xml.ns._public.types_3.*<u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u> <u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> def prismContext = midpoint.getPrismContext()<u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)">def delta = DeltaBuilder.deltaFor(UserType.class, prismContext)<u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> .item(UserType.F_CREDENTIALS, CredentialsType.F_PASSWORD, PasswordType.F_FORCE_CHANGE)<u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> .replace("TRUE")<u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> .asObjectDelta(focus.getOid())<u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> midpoint.modifyObject(delta, null)<u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> <u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> // Then we return the password value anyway<u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> return input<u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"></</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">code</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"></</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">script</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"></</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">expression</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"></</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">outbound</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"><</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">outbound</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"><</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">name</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> Simple password mapping</span><span style="font-size:10.5pt;font-family:'consolas';color:gray"></</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">name</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"><</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">description</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)">We apply this mapping every time, except if the modification is done on the Midpoint GUI (by an IDM admin)</span><span style="font-size:10.5pt;font-family:'consolas';color:gray"></</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">description</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"><</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">strength</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)">strong</span><span style="font-size:10.5pt;font-family:'consolas';color:gray"></</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">strength</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"><</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">exceptChannel</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><a href="http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user%3C/exceptChannel" style="text-decoration-line:none;color:rgb(66,133,244)">http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user<span style="font-size:11pt;font-family:calibri,sans-serif;color:gray"></</span><span style="font-size:11pt;font-family:calibri,sans-serif;color:rgb(86,156,214)">exceptChannel</span></a></span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"></</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">outbound</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"><</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">inbound</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">/></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"></</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">password</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:gray"></</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">credentials</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p><u></u> <u></u></p><p><u></u> <u></u></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:gray"><</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">attribute</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"><</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">ref</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)">ri:pwdReset</span><span style="font-size:10.5pt;font-family:'consolas';color:gray"></</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">ref</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"><</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">tolerant</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)">true</span><span style="font-size:10.5pt;font-family:'consolas';color:gray"></</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">tolerant</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"><</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">outbound</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"><</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">channel</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><a href="http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user" style="text-decoration-line:none;color:rgb(66,133,244)">http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user</a></span><span style="font-size:10.5pt;font-family:'consolas';color:gray"></</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">channel</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"><</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">strength</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)">strong</span><span style="font-size:10.5pt;font-family:'consolas';color:gray"></</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">strength</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"><</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">source</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"><</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">path</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)">$focus/credentials/password/forceChange</span><span style="font-size:10.5pt;font-family:'consolas';color:gray"></</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">path</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"></</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">source</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"></</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">outbound</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"><</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">inbound</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"><</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">exceptChannel</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><a href="http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user" style="text-decoration-line:none;color:rgb(66,133,244)">http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user</a></span><span style="font-size:10.5pt;font-family:'consolas';color:gray"></</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">exceptChannel</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"><</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">strength</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)">strong</span><span style="font-size:10.5pt;font-family:'consolas';color:gray"></</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">strength</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"><</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">target</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"><</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">path</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)">$focus/credentials/password/forceChange</span><span style="font-size:10.5pt;font-family:'consolas';color:gray"></</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">path</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"></</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">target</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"> </span><span style="font-size:10.5pt;font-family:'consolas';color:gray"></</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">inbound</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:rgb(30,30,30)"><span style="font-size:10.5pt;font-family:'consolas';color:gray"></</span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(86,156,214)">attribute</span><span style="font-size:10.5pt;font-family:'consolas';color:gray">></span><span style="font-size:10.5pt;font-family:'consolas';color:rgb(212,212,212)"><u></u><u></u></span></p><p><u></u> <u></u></p><p>Logs when I modify the password value of a user through the midpoint GUI (the delta I am building in the credentials mapping is mentioned as « debugdelta ») :<u></u><u></u></p><p><u></u> <u></u></p><p>2021-04-08 18:08:45,012 [MODEL] [pool-3-thread-142] INFO (com.evolveum.midpoint.expression): - <b>debugdelta:</b> <b>ObjectDelta<UserType>(UserType:a0d85100-354e-450d-9ad1-8d2028d8336c,MODIFY):</b><u></u><u></u></p><p> <b>credentials/password/forceChange<u></u><u></u></b></p><p><b> ADD: TRUE<u></u><u></u></b></p><p>2021-04-08 18:08:45,298 [MODEL] [pool-3-thread-142] DEBUG (com.evolveum.midpoint.model.impl.lens.Clockwork): Context rot: projection LensProjectionContext(ShadowType:574a2c41-b0ea-45a1-b006-3e0f980165f7 on resource:xxxx (Arobas - IDP LDAP)) rotten because of executable delta ObjectDelta(ShadowType:574a2c41-b0ea-45a1-b006-3e0f980165f7,MODIFY: PropertyDeltaImpl(attributes / {.../resource/instance-3}pwdReset, REPLACE))<u></u><u></u></p><p>2021-04-08 18:08:45,298 [MODEL] [pool-3-thread-142] DEBUG (com.evolveum.midpoint.model.impl.lens.Clockwork): Context rot: context rotten because of focus execution delta ObjectDelta(UserType:a0d85100-354e-450d-9ad1-8d2028d8336c,MODIFY: PropertyDeltaImpl(credentials/password / {.../common/common-3}forceChange, ADD), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifierRef, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTaskRef, REPLACE))<u></u><u></u></p><p>2021-04-08 18:08:45,400 [MODEL] [pool-3-thread-142] DEBUG (com.evolveum.midpoint.model.impl.lens.Clockwork):<u></u><u></u></p><p>###[ CLOCKWORK SUMMARY ]######################################<u></u><u></u></p><p>Channel: <a href="http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user" style="text-decoration-line:none;color:rgb(66,133,244)">http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user</a><u></u><u></u></p><p>Triggered by focus primary delta<u></u><u></u></p><p> ObjectDelta(UserType:a0d85100-354e-450d-9ad1-8d2028d8336c,MODIFY: PropertyDeltaImpl(credentials/password / {.../common/common-3}<b>forceChange, ADD</b>))<u></u><u></u></p><p>Focus: focus(user:a0d85100-354e-450d-9ad1-8d2028d8336c(admlutunp))<u></u><u></u></p><p>Projections (1):<u></u><u></u></p><p> account(ID {.../resource/instance-3}entryUUID = [ a4407a92-56fa-103a-868e-afc68d38775e ], type 'default', resource:d0811790-1d80-11e4-86b2-3c970e467874(Arobas - IDP LDAP)): KEEP<u></u><u></u></p><p>Executed:<u></u><u></u></p><p> ObjectDelta(UserType:a0d85100-354e-450d-9ad1-8d2028d8336c,MODIFY: PropertyDeltaImpl(credentials/password / {.../common/common-3}forceChange, ADD), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifierRef, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTaskRef, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}lastProvisioningTimestamp, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifierRef, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifyTaskRef, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifyApproverRef, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyApprovalComment, REPLACE)): SUCCESS<u></u><u></u></p><p> ObjectDelta(ShadowType:574a2c41-b0ea-45a1-b006-3e0f980165f7,MODIFY: PropertyDeltaImpl(attributes / {.../resource/instance-3}pwdReset, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifierRef, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifyTaskRef, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifyApproverRef, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyApprovalComment, REPLACE)): SUCCESS<u></u><u></u></p><p>##############################################################<u></u><u></u></p><p>2021-04-08 18:08:45,465 [MODEL] [pool-3-thread-142] INFO (com.evolveum.midpoint.expression): - <b>debugdelta:</b> <b>ObjectDelta<UserType>(UserType:a0d85100-354e-450d-9ad1-8d2028d8336c,MODIFY):</b><u></u><u></u></p><p><b> credentials/password/forceChange<u></u><u></u></b></p><p><b> ADD: TRUE<u></u><u></u></b></p><p>2021-04-08 18:08:45,623 [MODEL] [pool-3-thread-142] DEBUG (com.evolveum.midpoint.model.impl.lens.Clockwork): Context rot: context rotten because of focus execution delta ObjectDelta(UserType:a0d85100-354e-450d-9ad1-8d2028d8336c,MODIFY: PropertyDeltaImpl(credentials/password / {.../common/common-3}forceChange, ADD), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifierRef, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTaskRef, REPLACE))<u></u><u></u></p><p>2021-04-08 18:08:45,679 [MODEL] [pool-3-thread-142] DEBUG (com.evolveum.midpoint.model.impl.lens.Clockwork):<u></u><u></u></p><p>###[ CLOCKWORK SUMMARY ]######################################<u></u><u></u></p><p>Channel: <a href="http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user" style="text-decoration-line:none;color:rgb(66,133,244)">http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user</a><u></u><u></u></p><p>Triggered by focus primary delta<u></u><u></u></p><p> ObjectDelta(UserType:a0d85100-354e-450d-9ad1-8d2028d8336c,MODIFY: PropertyDeltaImpl(credentials/password / {.../common/common-3}<b>forceChange, ADD</b>))<u></u><u></u></p><p>Focus: focus(user:a0d85100-354e-450d-9ad1-8d2028d8336c(admlutunp))<u></u><u></u></p><p>Projections (1):<u></u><u></u></p><p> account(ID {.../resource/instance-3}entryUUID = [ a4407a92-56fa-103a-868e-afc68d38775e ], type 'default', resource:xxx(Arobas - IDP LDAP)): KEEP<u></u><u></u></p><p>Executed:<u></u><u></u></p><p> ObjectDelta(UserType:a0d85100-354e-450d-9ad1-8d2028d8336c,MODIFY: PropertyDeltaImpl(credentials/password / {.../common/common-3}forceChange, ADD), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifierRef, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTaskRef, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifierRef, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifyTaskRef, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifyApproverRef, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyApprovalComment, REPLACE)): SUCCESS<u></u><u></u></p><p>##############################################################<u></u><u></u></p><p>2021-04-08 18:08:45,929 [MODEL] [pool-3-thread-142] DEBUG (com.evolveum.midpoint.model.impl.lens.Clockwork): Context rot: context rotten because of focus execution delta ObjectDelta(UserType:a0d85100-354e-450d-9ad1-8d2028d8336c,MODIFY: PropertyDeltaImpl(credentials/password / {.../common/common-3}value, REPLACE), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifierRef, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTaskRef, REPLACE))<u></u><u></u></p><p>2021-04-08 18:08:46,009 [MODEL] [pool-3-thread-142] DEBUG (com.evolveum.midpoint.model.impl.lens.Clockwork):<u></u><u></u></p><p>###[ CLOCKWORK SUMMARY ]######################################<u></u><u></u></p><p>Channel: <a href="http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user" style="text-decoration-line:none;color:rgb(66,133,244)">http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user</a><u></u><u></u></p><p>Triggered by focus primary delta<u></u><u></u></p><p> ObjectDelta(UserType:a0d85100-354e-450d-9ad1-8d2028d8336c,MODIFY: PropertyDeltaImpl(credentials/password / {.../common/common-3}<b>value, REPLACE</b>))<u></u><u></u></p><p>Focus: focus(user:a0d85100-354e-450d-9ad1-8d2028d8336c(admlutunp))<u></u><u></u></p><p>Projections (1):<u></u><u></u></p><p> account(ID {.../resource/instance-3}entryUUID = [ a4407a92-56fa-103a-868e-afc68d38775e ], type 'default', resource:xxx(Arobas - IDP LDAP)): KEEP<u></u><u></u></p><p>Executed:<u></u><u></u></p><p> ObjectDelta(UserType:a0d85100-354e-450d-9ad1-8d2028d8336c,MODIFY: PropertyDeltaImpl(credentials/password / {.../common/common-3}value, REPLACE), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifierRef, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTaskRef, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}lastProvisioningTimestamp, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifierRef, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifyTaskRef, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifyApproverRef, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyApprovalComment, REPLACE)): SUCCESS<u></u><u></u></p><p> ObjectDelta(ShadowType:574a2c41-b0ea-45a1-b006-3e0f980165f7,MODIFY: PropertyDeltaImpl(credentials/password / {.../common/common-3}value, REPLACE), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifierRef, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTaskRef, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifierRef, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifyTaskRef, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifyApproverRef, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyApprovalComment, REPLACE)): SUCCESS<u></u><u></u></p><p>##############################################################<u></u><u></u></p></div></div></div></div><div style="height:44px"></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Apr 8, 2021, 08:32 Pavol Mederly via midPoint <<a href="mailto:midpoint@lists.evolveum.com">midpoint@lists.evolveum.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<p>Hello Frédéric,</p>
<p>unfortunately I have currently no time to analyze your specific
problem, but the issue you see with the delta builder is an
inherent limitation of that API. For more information and a
suggested workaround please see <a href="https://jira.evolveum.com/browse/MID-6981" target="_blank" rel="noreferrer">https://jira.evolveum.com/browse/MID-6981</a>.</p>
<p>Best regards,<br>
</p>
<pre cols="72">--
Pavol Mederly
Software developer
<a href="http://evolveum.com" target="_blank" rel="noreferrer">evolveum.com</a></pre>
<div>On 07/04/2021 17:27, Frédéric Lohier
via midPoint wrote:<br>
</div>
<blockquote type="cite">
<div dir="auto">
<div class="gmail_quote" dir="auto">
<div dir="ltr" class="gmail_attr">Hello,<br>
</div>
<div link="#0563C1" vlink="#954F72" lang="FR">
<div>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Following up my last email « Set
resource attribute pwdReset when password changed by
Midpoint GUI by IDM admin », I think the password
mapping using channels is the way to go.
</p>
<p class="MsoNormal">What I want to do now is to set this
attribute in the password mapping context using groovy.
This attribute exists in the resource schema as an
operational attribute and I can manualy set this
attribute for a user through midpoint GUI (edit
projection tab).</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">My guess is that I have to « build a
delta » for the correspondant shadow object. Am I right?</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">I know the shadow OID thanks to the
projection variable (projection.getOid()), I tried to
build the delta using some examples around, but I get
the error « Undefined or dynamic path: pwdReset in: CTD
({.../common/common-3}ShadowType) ». Any idea of what I
am doing wrong?</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">The full password mapping : </p>
<p class="MsoNormal"> </p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:Consolas;color:#569cd6">credentials</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4">
</span><span style="font-size:10.5pt;font-family:Consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:Consolas;color:#569cd6">password</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4">
</span><span style="font-size:10.5pt;font-family:Consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:Consolas;color:#569cd6">outbound</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4">
</span><span style="font-size:10.5pt;font-family:Consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:Consolas;color:#569cd6">name</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4">Password and pwdReset (to
force the password reset by user)</span><span style="font-size:10.5pt;font-family:Consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:Consolas;color:#569cd6">name</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"> </span><span style="font-size:10.5pt;font-family:Consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:Consolas;color:#569cd6">strength</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4">strong</span><span style="font-size:10.5pt;font-family:Consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:Consolas;color:#569cd6">strength</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"> </span><span style="font-size:10.5pt;font-family:Consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:Consolas;color:#569cd6">channel</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"><a href="http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user%3C/channel" rel="noreferrer noreferrer" target="_blank">http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user<span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:gray;text-decoration:none"></</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#569cd6;text-decoration:none">c</span><span style="color:#569cd6;text-decoration:none">hanne</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#569cd6;text-decoration:none">l</span></a></span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"> </span><span style="font-size:10.5pt;font-family:Consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:Consolas;color:#569cd6">expression</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4">
</span><span style="font-size:10.5pt;font-family:Consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:Consolas;color:#569cd6">script</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4">
</span><span style="font-size:10.5pt;font-family:Consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:Consolas;color:#569cd6">code</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4">
// If password modification comes from an Midpoint
admin (channel #user), then we set the Open LDAP
pwdReset attribute to TRUE (this will force the user
to reset his password)</span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"> </span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4">
</span><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4">import com.evolveum.midpoint.prism.impl.delta.builder.*</span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4">
import com.evolveum.midpoint.xml.ns._public.common.common_3.*</span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4">
import com.evolveum.prism.xml.ns._public.types_3.*</span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"> </span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4">
def prismContext = midpoint.getPrismContext()</span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4">
def shadowOid = projection.getOid()</span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4">
def delta = DeltaBuilder.deltaFor(ShadowType.class, prismContext)</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;line-height:14.25pt;background:#1e1e1e">
<span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4">
.item(ShadowType.F_ATTRIBUTES, "pwdReset")</span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4">
.add("TRUE")</span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4">
.asObjectDelta(shadowOid)</span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4">
midpoint.modifyObject(delta, null)</span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"> </span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4">
// Then we return the password value anyway</span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"> return input</span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4">
</span><span style="font-size:10.5pt;font-family:Consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:Consolas;color:#569cd6">code</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4">
</span><span style="font-size:10.5pt;font-family:Consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:Consolas;color:#569cd6">script</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"> </span><span style="font-size:10.5pt;font-family:Consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:Consolas;color:#569cd6">expression</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"> </span><span style="font-size:10.5pt;font-family:Consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:Consolas;color:#569cd6">outbound</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"> </span><span style="font-size:10.5pt;font-family:Consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:Consolas;color:#569cd6">outbound</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4">
</span><span style="font-size:10.5pt;font-family:Consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:Consolas;color:#569cd6">name</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"> Simple
password mapping</span><span style="font-size:10.5pt;font-family:Consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:Consolas;color:#569cd6">name</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"> </span><span style="font-size:10.5pt;font-family:Consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:Consolas;color:#569cd6">description</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4">We apply
this mapping every time, except if the modification is
done on the Midpoint GUI (by an IDM admin)</span><span style="font-size:10.5pt;font-family:Consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:Consolas;color:#569cd6">description</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"> </span><span style="font-size:10.5pt;font-family:Consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:Consolas;color:#569cd6">strength</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4">strong</span><span style="font-size:10.5pt;font-family:Consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:Consolas;color:#569cd6">strength</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"> </span><span style="font-size:10.5pt;font-family:Consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:Consolas;color:#569cd6">exceptChannel</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"><a href="http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user%3C/exceptChannel" rel="noreferrer noreferrer" target="_blank">http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user<span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:gray;text-decoration:none"></</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#569cd6;text-decoration:none">exceptChannel</span></a></span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"> </span><span style="font-size:10.5pt;font-family:Consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:Consolas;color:#569cd6">outbound</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"> </span><span style="font-size:10.5pt;font-family:Consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:Consolas;color:#569cd6">inbound</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">/></span><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"> </span><span style="font-size:10.5pt;font-family:Consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:Consolas;color:#569cd6">password</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:Consolas;color:#569cd6">credentials</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"> </span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1e1e1e"><span style="font-size:10.5pt;font-family:Consolas;color:#d4d4d4"> </span></p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Error :</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">java.lang.IllegalArgumentException:
Undefined or dynamic path: pwdReset in: CTD
({.../common/common-3}ShadowType)</p>
<p class="MsoNormal"> at
com.evolveum.midpoint.prism.impl.delta.builder.DeltaBuilder.item(DeltaBuilder.java:92)</p>
<p class="MsoNormal"> at
com.evolveum.midpoint.prism.impl.delta.builder.DeltaBuilder.item(DeltaBuilder.java:85)</p>
<p class="MsoNormal"> at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)</p>
<p class="MsoNormal"> at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)</p>
<p class="MsoNormal"> at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)</p>
<p class="MsoNormal"> at
java.base/java.lang.reflect.Method.invoke(Method.java:566)</p>
<p class="MsoNormal"> at
org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite.doInvoke(PlainObjectMetaMethodSite.java:43)</p>
<p class="MsoNormal"> at
org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSite.invoke(PojoMetaMethodSite.java:188)</p>
<p class="MsoNormal"> at
org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)</p>
<p class="MsoNormal"> at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)</p>
<p class="MsoNormal"> at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115)</p>
<p class="MsoNormal"> at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)</p>
<p class="MsoNormal"> at
expression_in_mapping_'Password_and_pwdReset_(to_force_the_password_reset_by_user)'_in_password_mapping_in_projection_(account_(default)_on_resource_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx(LDAP)).run(expression
in mapping
'Password_and_pwdReset_(to_force_the_password_reset_by_user)'
in password mapping in projection (account (default) on
resource: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
(LDAP)):13)</p>
<p class="MsoNormal"> at
com.evolveum.midpoint.model.common.expression.script.groovy.GroovyScriptEvaluator.evaluateScript(GroovyScriptEvaluator.java:203)</p>
<p class="MsoNormal"> at
com.evolveum.midpoint.model.common.expression.script.groovy.GroovyScriptEvaluator.evaluateScript(GroovyScriptEvaluator.java:50)</p>
<p class="MsoNormal"> at
com.evolveum.midpoint.model.common.expression.script.AbstractCachingScriptEvaluator.evaluate(AbstractCachingScriptEvaluator.java:76)</p>
<p class="MsoNormal"> ... 36 common frames omitted</p>
</div>
</div>
</div>
</div>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
midPoint mailing list
<a href="mailto:midPoint@lists.evolveum.com" target="_blank" rel="noreferrer">midPoint@lists.evolveum.com</a>
<a href="https://lists.evolveum.com/mailman/listinfo/midpoint" target="_blank" rel="noreferrer">https://lists.evolveum.com/mailman/listinfo/midpoint</a>
</pre>
</blockquote>
</div>
_______________________________________________<br>
midPoint mailing list<br>
<a href="mailto:midPoint@lists.evolveum.com" target="_blank" rel="noreferrer">midPoint@lists.evolveum.com</a><br>
<a href="https://lists.evolveum.com/mailman/listinfo/midpoint" rel="noreferrer noreferrer" target="_blank">https://lists.evolveum.com/mailman/listinfo/midpoint</a><br>
</blockquote></div>