Как автоматически войти в веб-модуль Odoo для res.user, а не для res.partner? - PullRequest
1 голос
/ 18 февраля 2020

Я пытаюсь войти в систему, используя аутентификацию на основе токенов, потому что мы используем веб-модуль Odoo в мобильном приложении.

В настоящее время используется подход передачи URL-адреса методом GET, который на веб-сайтах "UNSECURE" SSL-сертификаты и localhost-сайты, как

myurl.com?username=foo&password=bar

Как это сделать, используя подход на основе токенов или передавая учетные данные в POST-методе, в Odoo-12?

Редактировать 1:

Я нашел этот метод authenticate () в core-модулях odoo в файле http-controllers, и я вызываю его только сейчас, как:

request.session(db, username, password)

но я хотел, чтобы он основывался на токене без жесткого пароля, как разные пароли для разных партнеров, что я не могу жестко закодировать, и это плохой подход.

как я могу это сделать, передать токен и проверить его?

1 Ответ

1 голос
/ 18 февраля 2020

Вы можете использовать конечную точку authenticate, предоставленную odoo, чтобы создать сеанс для вашего пользователя API. В следующих запросах вы затем используете session id для обработки операций.

Пример вызова / web / session / authenticate with body:

{
  "jsonrpc": "2.0",
  "method": "call",
  "id": 1,
  "params": {
    "db": "<YOUR-DB>",
    "login": "<YOUR@LOGIN.COM>",
    "password": "<YOUR-PASSWORD>"
  }
}

Вы можете найти описание конечных точек в https://github.com/odoo/odoo/blob/12.0/odoo/http.py

...