首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Odoo和auth=user

Odoo和auth=user
EN

Stack Overflow用户
提问于 2022-07-26 16:08:56
回答 1查看 158关注 0票数 -1

如何使用cors和auth=user调用端点?

代码语言:javascript
运行
复制
@http.route('/endpoint', type='json', cors='http://127.0.0.1:5173', auth='user', csrf=False, methods=['OPTIONS', 'POST'])
def endpoint(self):
    return {'test'}

如果我从javascript调用这个端点

代码语言:javascript
运行
复制
axios.post('http://127.0.0.1:8069/endpoint', {
    jsonrpc: "2.0",
    params: {},
}, {
    headers: {"Content-Type": "application/json"},
    withCredentials: true,
})
.then(content => {
    console.log(content.data)
})
.catch(error => alert(JSON.stringify(error)))

我总是收到以下错误

代码语言:javascript
运行
复制
Access to XMLHttpRequest at 'http://127.0.0.1:8069/endpoint' from origin 'http://127.0.0.1:5173' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request.

我以前登录过

代码语言:javascript
运行
复制
@http.route('/login', type='json', cors='http://127.0.0.1:5173', auth='none', csrf=False, methods=['OPTIONS', 'POST'])
def login(self, db, login, password):
    http.request.session.authenticate(db, login, password)
    return http.request.env['ir.http'].session_info()

代码语言:javascript
运行
复制
axios.post('http://127.0.0.1:8069/login', {
    jsonrpc: "2.0",
    params: {
        db: "db_name",
        login: email,
        password: password
    },
}, {
    headers: {"Content-Type": "application/json"},
    withCredentials: true,
})
.then(content => {
    console.log(content.data)
})
.catch(error => alert(JSON.stringify(error)))

而且这很管用。

EN

Stack Overflow用户

发布于 2022-07-26 16:24:30

服务器应以Access-Control-Allow-Origin报头为'*'进行响应

票数 -1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73126621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档