odoo16--接口controller编写小白教程--登录验证

odoo16--接口编写小白教程--登录token验证

使用odoo的原生登录token来验证用户的登录有效性

  • 在接口文件编写定义访问数据库的函数,并返回一个生成的cookie
class AllData(http.Controller):
    def getOdooToken(self):
    	#http://localhost:8123访问odoo的路径,后面的web/session/authenticate固定写法
        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)
        #从服务器返回的响应信息中获取名为"session_id"的cookie的值,并将其返回。
        return response.cookies["session_id"]
    
    @http.route('/test', type='json', auth="none", cors="*", csrf=False)
    def test(self, **kw):
        odootoken = self.getOdooToken()
        return odootoken
        #用此代码进行接口测试,查看前端是否拿到了session_id

在这里插入图片描述

  • 尝试将某一个接口的auth改为“user”,带有用户身份认证功能,只有被认证的用户可以访问该路由。

在这里插入图片描述

  • 重启刷新,访问getAllCatData接口,并且在前端的头部写入key:X-Openerp-Session-Id;value填入刚刚拿到的cookie

在这里插入图片描述

  • 如不在headers填入cookie数据,则该端口提示报错
    在这里插入图片描述
  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值