2016-10-13 4 views
0

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

Спасибо и наилучшие пожелания,

Ясин Shareef

ответ

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.

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

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

+0

Hi Odony, Есть ли способ реализовать saml sso от Shiboleth до odoo? –