Not able to set password for end user

Hi, I have followed the solution provided in a previous post and I can confirm that after you add metadata to the user, the user appears in the /admin/user-list .

But there is one problem. The password field is empty. I have set a password when I created the user but doesnt that appears in the /admin/user-list and therefore the user is not able to login at http://partnerID.mediaspace.kaltura.com/user/login

How should I handle this case ? Is there a way (an api call) so I can send/update the user’s password for the kms login?
Thank you

Hello,

For setting the passwd $client->user->setinitialpassword($hashKey, $newPassword); should work.
Please try.

Thank you very much Jess for the answer.

By $hashKey you mean the md5 hash of the email ?

I’m running the following code :

            userService.add(createUSer);
            userService.setInitialPassword(md5_email_hash, new_password);

but I’m getting error : Login id not found error code: LOGIN_DATA_NOT_FOUND

mes - did you find a solution ? I attempted the seem code and got the same error. I don’t know how to generate the #hashKey need to use this api

Jess - can you advise where we can find documentation on how to set the hashkey ?

I didn’t. I hope Jess can give more info on this.

The other approach that I am attempting is to use the resetPassword(emailaddress) … the email gets generate but right now its blank. I hoping to find a way to get that working and also customize the email as its for a public site.

Based on the documentation the hashkey is generated and sent to the user when the resetpassword is triggered.

I face the same problem that LOGIN_DATA_NOT_FOUND: Login id not found. It seems that the hashKey is the user’s email but I don’t know what hash should I use or where can I find the hashKey. Any one know it?

Hello @chau_chow,

You didn’t state the user type in question but generally speaking, you can always submit the reset passwd form. This will email the user a reset link.
Otherwise, you can do it manually from Admin Console->Publishers->your partner->Actions->KMC users

Or, you can follow https://github.com/kaltura/platform-install-packages/blob/Orion-15.16.0/doc/kaltura-packages-faq.md#cannot-login-to-admin-console

Hello jess,
I am trying to create a new user account for KMS e.g. student. So I set their role to be viewerRole. I would like to set the password by using api and I don’t want to send an email to
the user. Actually I am quite new to Kaltura. Hope that you can provide more suggestions to me. Thanks.

Hello,

In KMS, user.loginByLoginId() is only used with users that have loginEnabled and isAdmin set to true. That is not the case for ‘regular’ MediaSpace/non-KMC users.

If you make the user->get() request and pass such a userId as a param, you will see that the user.loginEnabled and user.isAdmin members are set to 0/false.

When MediaSpace creates these non-admin/regular users, the password is stored in the KalturaUser.partnerData member as a SHA1 hash, like so:

partnerData pw=sha1hashhere,

During the log-in process, the password is verified by comparing the value stored in partnerData with the one returned from sha1(password) where password is the input from the end user.

If the two strings match, a KS is generated for this user by calling session.start(), using the partner’s secret and setting the userId param to that of the user in question.
Note that you do not need to know the user’s passwd in order to generate a KS for them (since session.start() is used with the partner’s secret rather than user.loginByLoginId() with the user’s passwd).

For a detailed explanation about the relationship between partners and users, please see:

Hello, thank you for the wonderful explanation.

I follow the previous post to create the user. Except I set the viewerRole. Then I can see the user in the MediaSpace Administration Area->Manage Users with the userID, Role, email are filled but the password column is empty. Therefore users cannot login with its userID and password. I am not sure am I doing the right way to create an account for the user. Also, I am not sure what does the setInitialPassword is setting. Does it set the password for KMC, KMS or other things? Any more suggestions? Thanks. p.s. I am using PHP to create it.

Hello,

You can see exactly what user.setInitalPassword does here:

However, as I said before:

When MediaSpace creates these non-admin/regular users, the password is stored in the KalturaUser.partnerData member as a SHA1 hash, like so:
partnerData pw=sha1hashhere,

So if you wish to be compatible with how KMS handles user authentication, you need to do the same.