Odoo登陆机制和session_id cookie - xiaohao0576/odoo-doc GitHub Wiki
Odoo有一个Controller,是可以直接验证用户名称密码,然后返回合法的session_id的。
API的路径是/web/session/authenticate
, 需要用POST方法
POST /web/session/authenticate HTTP/1.1
Host: your_odoo_instance
Content-Type: application/json
{
"jsonrpc": "2.0",
"params": {
"db": "your_database_name",
"login": "your_username",
"password": "your_password"
}
}
使用curl, postman都能调用这个接口,调用成功后,拿到合法的session_id,可以通过浏览器的开发者工具写入浏览器的cookie中,就能实现免密码登陆
注意,无法使用javascript去操作这个session_id, 因为odoo在用户打开网址登陆之前就在cookie中设置了一个临时的session_id,并且把httponly设置成了true,意思就是完全禁止javascript访问这个session_id