0

我正在设置一个以 Koa 作为后端的 Vue 应用程序。我已经实现了一个简单的登录系统,使用 koa-session 进行会话。当我直接访问服务器(实际上是导航到我的服务器端口并执行请求)时,这一切都很好,但是当我用来fetch从我的前端端口访问数据时,它不会将每个提取都召回为同一个会话并创建一个每次都有新的会话。这是有问题的,因为它没有检测到用户已登录。最终发生的是,每次我访问 API 时都会创建一个新的会话密钥,即使没有刷新页面也是如此。

这是我的 Koa 会话配置文件:

import Koa from "koa";

import session from "koa-session";

import { getCookie } from "../actions/getCookie";
import { setCookie } from "../actions/setCookie";
import { destroyCookie } from "../actions/destroyCookie";

export const config: Readonly<Partial<session.opts>> = {
    store: {
        get: getCookie,
        set: setCookie,
        destroy: destroyCookie
    },
    key: "api:sess",
    maxAge: 86400000,
    httpOnly: true,
    renew: true,
    signed: false
};

export const useSession = (app: Koa) => session(config, app);```
4

1 回答 1

0

原来是我拿的。我有credentials: "same-origin"而不是credentials: "include"它把一切都搞砸了。

于 2020-06-05T22:32:43.170 回答