【发布时间】:2020-06-05 21:47:58
【问题描述】:
我正在设置一个以 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);```
【问题讨论】:
标签: javascript node.js koa koa-session