How to copy password from the record producer of user table?

Karthik Reddy T
Kilo Sage

Hi All,

How to copy password from the record producer of user table?

My requirement: I want to create record producer of user table.

I am able to get the   all the details from record producer to user but except the password field.

Could any one has faced this type issue?

Karthik Reddy T.
ServiceNow Commnunity MVP -2018 class.
1 ACCEPTED SOLUTION

Hello Karthik,



To set the password from the record producer script which is on user table should be like:



current.user_password.setDisplayValue(producer.field_name);



This will create a password from   the field value on record producer.



Thanks,


Surya Amara



PS: Hit like, Helpful or Correct depending on the impact of the response


View solution in original post

14 REPLIES 14

Hello Sachin,



Thanks for the response,



My bad sorry for the confusing requirement. Actually i want to give a field for the user where the user   can set a password of his choice. I want to map this password with the user table password. But when we are mapping this field user is not saving/updating.



We are all to map the field   values to the user table except the password .



I am able to do the password validation(password and confirm password).


Karthik Reddy T.
ServiceNow Commnunity MVP -2018 class.

I will suggest to explore self service password reset functionality for achieving your requirement.



Self service password reset



But, please note that this works for only local user account.



OR



you could use below script in your record producer.Please modify according to your record producer variables.



var newUser = new GlideRecord('sys_user');


newUser.initialize();


newUser.user_name=current.customer_name;


var Encrypter = new GlideEncrypter();


var encryptedPassword = current.u_password;


var decryptedPassword = Encrypter.decrypt(encryptedPassword);


gs.addInfoMessage("decryptedPassword:::"+decryptedPassword); // Am able to see password.


newUser.user_password.setDisplayValue(decryptedPassword);


newUser.insert();



Regards,


Sachin


Hello Sachin,



It was working fine. But i am not able to login with same password.


Karthik Reddy T.
ServiceNow Commnunity MVP -2018 class.

Can you please try below code?


We need to use setDisplayValue method.



This should work.



  1. var Encrypter = new GlideEncrypter();    
  2. var decrypted = Encrypter.decrypt(current.variables.password);    
  3. var gu = new GlideRecord('sys_user');    
  4. gu.initialize();    
  5. gu.user_password.setDisplayValue(decrypted + '');    
  6. gu.insert();    


Regards,


Sachin


Still the same issue persisting.



I have given variable type   masked for the password in record producer.


Karthik Reddy T.
ServiceNow Commnunity MVP -2018 class.