首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Redis的Next-8月商店会话

在Redis的Next-8月商店会话
EN

Stack Overflow用户
提问于 2022-07-24 15:08:52
回答 1查看 464关注 0票数 0

我来自express,以前从未使用过next-auth,但不知道如何在redis数据库中存储用户会话。

express上,我会做以下工作;

代码语言:javascript
复制
import express from 'express';
import session from 'express-session';
import connectRedis from 'connect-redis';
import Redis from 'ioredis';
import { __prod__, COOKIE_NAME } from './constants';

const main = async () => {
  const RedisStore = connectRedis(session);
  const redis = new Redis(process.env.REDIS_URL);

  app.use(
    session({
      name: 'qid',
      store: new RedisStore({
        client: redis,
        disableTouch: true,
        ttl: 1000 * 60 * 60 * 24 * 365, // 1 year
      }),
      cookie: {
        maxAge: 1000 * 60 * 60 * 24 * 365, // 1 year
        httpOnly: true,
        sameSite: 'lax',
        secure: __prod__,
        domain: __prod__ ? process.env.DOMAIN : undefined,
      },
      saveUninitialized: false,
      secret: process.env.SESSION_SECRET,
      resave: false,
    }),
  );
};

main()

...nextauth.ts

代码语言:javascript
复制
import NextAuth, { type NextAuthOptions } from "next-auth";
import CredentialsProvider from "next-auth/providers/credentials";

import { PrismaAdapter } from "@next-auth/prisma-adapter";
import { prisma } from "../../../server/db/client";

export const authOptions: NextAuthOptions = {
  callbacks: {
    session({ session, user }) {
      if (session.user) {
        session.user.id = user.id;
      }
      return session;
    },
  },
  adapter: PrismaAdapter(prisma),
  providers: [
    CredentialsProvider({
      async authorize(credentials, req) {
        //
      },
    }),
  ],
};

export default NextAuth(authOptions);

我找不到redisNextAuth中的任何实现,除了使用Upstash进行缓存之外,但对于会话却找不到。

EN

回答 1

Stack Overflow用户

发布于 2022-09-04 18:09:18

我为Next制作了一个适配器,它使用ioredis将数据存储在哈希数据结构中。在Upstash适配器中,它们使用JSON.stringify存储数据。在我的适配器中,我使用了哈希数据结构,以便更容易地扩展User对象。你可以看看这个储存库

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

https://stackoverflow.com/questions/73099562

复制
相关文章

相似问题

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