You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Keystone 6能否禁用用户认证/登录?恳请社区技术指导

在Keystone 6中禁用用户认证的方法

Keystone 6的认证体系通过配置项直接管控,要禁用认证可按以下步骤操作:

1. 移除认证核心配置

如果项目基于官方模板创建,keystone.ts中会包含createAuth和withAuth相关代码,直接移除这些内容,并将会话(session)配置设为null即可完全禁用认证:

修改前的典型认证配置:

import { createAuth } from '@keystone-6/auth';
import { statelessSessions } from '@keystone-6/core/session';

const { withAuth } = createAuth({
  listKey: 'User',
  identityField: 'email',
  secretField: 'password',
});

const session = statelessSessions({
  secret: process.env.SESSION_SECRET!,
});

export default withAuth(
  config({
    // 项目其他配置
    session,
  })
);

修改后:

export default config({
  // 保留项目原有的schema、server等配置
  session: null, // 禁用会话及关联认证
});

2. 调整访问控制规则

确保所有列表的操作权限对未认证用户开放,可在列表定义中单独设置:

const lists = {
  User: list({
    fields: { /* 字段定义 */ },
    access: {
      create: allowAll,
      read: allowAll,
      update: allowAll,
      delete: allowAll,
    },
  }),
  // 其他列表同理配置
};

也可在全局配置中设置默认访问规则为允许所有:

export default config({
  // ...其他配置
  access: {
    default: allowAll,
  },
  lists,
});

3. 清理认证相关路由(可选)

如果项目中手动添加了自定义认证路由,直接删除这些配置即可,避免无用API端点残留。

内容的提问来源于stack exchange,提问作者whodeee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 03:59:54