odoo16--接口编写小白教程--登录token验证
使用odoo的原生登录token来验证用户的登录有效性
- 在接口文件编写定义访问数据库的函数,并返回一个生成的cookie
class AllData(http.Controller):
def getOdooToken(self):
url = "http://localhost:8123/web/session/authenticate"
data = {
"params": {
"db": "jt124",
"login": "admin",
"password": "odoo",
}
}
headers = {'Content-type': 'application/json'}
response = requests.post(url, headers=headers,json=data)
return response.cookies["session_id"]
@http.route('/test', type='json', auth="none", cors="*", csrf=False)
def test(self, **kw):
odootoken = self.getOdooToken()
return odootoken
- 尝试将某一个接口的auth改为“user”,带有用户身份认证功能,只有被认证的用户可以访问该路由。
- 重启刷新,访问getAllCatData接口,并且在前端的头部写入key:X-Openerp-Session-Id;value填入刚刚拿到的cookie
- 如不在headers填入cookie数据,则该端口提示报错