首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vue 3和cookies

Vue 3和cookies
EN

Stack Overflow用户
提问于 2019-12-08 11:53:38
回答 1查看 2.8K关注 0票数 1

我正在Vue 3中构建一个前端,并使用fastAPI作为后端。我想在身份验证过程中使用httponly,但在浏览器中我看不到cookie已经收到。我已经向邮递员检查了后端的请求,我看到了带有后端数据的"set-cookie“。

前部:

127.0.0.1:8080

  • Vue 3
  • Axios 0.18.1
  • url:

后端:

  • FastAPI
  • uvicorn
  • url: 127.0.0.1:8000

在前面,使用Axios的post消息如下:

代码语言:javascript
复制
axios
    .post(process.env.VUE_APP_API_URL + '/login', this.auth, {withCredentials: true})
    .then(res => {
      console.log(res.data);
    })
    .catch(e => {
      console.log(e);
    });

在后端,我配置了显式的起源:

代码语言:javascript
复制
    origins = [
    "http://localhost",
    "http://localhost:8080",
    "http://127.0.0.1",
    "http://127.0.0.1:8080",
]
app.add_middleware(
    CORSMiddleware,
    allow_origins=origins,
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)

当我把答案退回正面时:

代码语言:javascript
复制
    response.set_cookie(
        key="Authorization",
        value=f"Bearer {token}",
        domain="127.0.0.1",
        path="/login",
        httponly=True,
        secure=False,
        max_age=1800,
        expires=1800,
    )

谢谢你提前。

EN

回答 1

Stack Overflow用户

发布于 2019-12-09 13:48:43

我做了以下修改,现在已经开始工作了:

前部:

.env.development文件:

代码语言:javascript
复制
NODE_ENV=development
VUE_APP_API_URL=http://localtest.me:8000

后端:

代码语言:javascript
复制
origins = [
"http://localhost",
"http://localhost:8080",
"http://localtest.me",
"http://localtest.me:8080"

]

代码语言:javascript
复制
response.set_cookie(
        key="Authorization",
        value=f"Bearer {token}",
        domain="localtest.me",
        path="/",
        httponly=True,
        secure=False,
        max_age=1800,
        expires=1800,
    )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59235108

复制
相关文章

相似问题

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