python — аутентификация через XMLRPC в Odoo из системы PHP

Я хотел бы пройти аутентификацию в Odoo через xmlrpc, но в качестве реализации единого входа. Учетные данные пользователей будут одинаковыми как в Odoo, так и в PHP, поэтому в основном будет происходить перенаправление на Odoo из системы php при входе пользователя в систему. Дело в том, что пароли хешируются как на стороне PHP, так и на стороне Odoo, поэтому невозможно передать пароль от php к odoo. Я знаю, что аутентификация может быть выполнена, если имя пользователя и пароль переданы, но здесь дело обстоит не так, есть ли способ реализовать единый вход для вышеуказанного сценария?

Спасибо и С уважением,

Ясен Шариф

0

Решение

Odoo поддерживает другие механизмы аутентификации, кроме локальных паролей, из коробки:

  • Аутентификация LDAP обеспечивается встроенным auth_ldap модуль. Требуется внешний сервис LDAP, такой как OpenLDAP или Microsoft Active Directory. Он также работает на уровне XML-RPC, потому что это механизм на основе пароля.
  • Аутентификация OAuth2 обеспечивается встроенным auth_oauth модуль. Требуется внешний поставщик OAuth2, такой как учетные записи Google или Facebook. Это не работает прозрачно на уровне XML-RPC, потому что оно не строго основано на пароле. Сначала необходимо выполнить OAuth-аутентификацию сеанса HTTP, а затем вы можете использовать API-интерфейс JSON-RPC для удаленного доступа к Odoo, как если бы вы использовали XML-RPC.
  • Odoo 8 также включает встроенную поддержку интеграции OpenID через auth_openid модуль. Для этого требуется внешняя служба OpenID, но с Odoo 9 она устарела в пользу эквивалентных служб OAuth. Подобно OAuth, он не основан на пароле, поэтому он не будет работать напрямую на уровне XML-RPC.

API Odoo полностью доступен через XML-RPC или JSON-RPC, они строго эквивалентны. Для большинства языков существуют библиотеки RPC, и популярные языки часто имеют выделенные библиотеки Odoo RPC.

Вы можете легко добиться единого входа в Odoo и в своем PHP-приложении, используя один из этих внешних механизмов аутентификации, поскольку для каждого из них есть PHP-библиотеки. Вам просто нужно выбрать подходящего поставщика для вашего случая.

Кроме того, существуют сторонние модули сообщества для другого механизма аутентификации (см. Вот для начинающих). Например, для версии 7.0 был модуль, который мог бы аутентифицироваться в Odoo на основе HTTP Basic аутентификации (auth_from_http_basic), позволяя осуществлять единый вход на основе подключаемой аутентификации веб-сервера. Я не думаю, что это было перенесено для версии 8, но вы можете связаться с авторами и помочь сделать это.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]