バックエンドとして 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);```