This question has been flagged
5 Replies
10464 Views

From Odoo 12 on the module containing the field password_crypt was merged into Odoo base module and so can't be retrieved. There is no "password_crypt" field in "res_users" table any more., the password only can be written but not read.

We used the Odoo 11 credentials to login to other applications, which can't be integrate in Odoo. This authentication stopped working and I'm looking for a way to get read access to the Odoo password, any clue how we could do that? Is there any method in the API retrieve the crypted password from Odoo 13 to use it for user login in external applications?

Avatar
Discard

Hi Gerald,

I'm facing the same problem, did you find a way to solve it?

Kind regards,

Dries

Author

Finally I did it making a custom module. It contains a custom API endpoint which answers true or false to the given request with given user and password.

Best Answer

The password field is not included in the readable list of fields, so I don't think it will be returned.

Here is the link:

https://github.com/odoo/odoo/blob/13.0/odoo/addons/base/models/res_users.py#L208

And the list:

SELF_READABLE_FIELDS = ['signature', 'company_id', 'login', 'email', 'name', 'image', 'image_medium', 'image_small', 'lang', 'tz', 'tz_offset', 'groups_id', 'partner_id', '__last_update', 'action_id']

Avatar
Discard
Best Answer

There is only one password field anymore, which contains the password hash.

This may give you some help: https://www.odoo.com/de_DE/forum/hilfe-1/question/how-to-reset-the-odoo-admin-user-password-a-summary-for-different-odoo-versions-131992

Avatar
Discard
Best Answer

You can simply retrieve your password while login in your database and it will be hashed.

Avatar
Discard
Author Best Answer

Thanks for the answer. The problem is that password field seems to be write only. It is empty when retrieving it using the API. That's what I do with python to get admin user data:

user = models.execute_kw(db, uid, password,
    'res.users', 'search_read',
    [[['id', '=', 2]]],
    {})
print user

Any hint how to READ the hashed password?

Avatar
Discard

I'm not a developer, unfortunately, hopefully someone chimes in.