./config/admin.js
用于定义 Strapi 应用程序的管理面板配置。
可用选项
./config/admin.js
文件可以包含以下参数:
参数 | 描述 | 类型 | 默认 |
---|---|---|---|
apiToken.salt | 用于生成 API 令牌 的 Salt | 字符串 | 随机字符串 |
auditLogs.enabled | 启用或禁用 审计日志 功能 | 布尔值 | true |
auditLogs.retentionDays | 审计日志 的保留时间(以天为单位)。 自托管客户和 Strapi Cloud 客户的行为不同,请参阅表格下方的注释。 | 整数 | 90 |
auth | 身份验证配置 | 对象 | - |
auth.secret | 用于编码 JWT 令牌的密钥 | 字符串 | undefined |
auth.domain | 用于 SSO 身份验证的 cookie 中使用的域(仅限企业) | 字符串 | undefined |
auth.providers | 用于 SSO 的身份验证提供程序列表(仅限企业,请参阅 SSO) | 数组(对象) | - |
auth.options | 传递给 jsonwebtoken 的选项对象 | 对象 | - |
auth.options.expiresIn | jsonwebtoken 中使用的 JWT 过期时间 | 对象 | 30d |
auth.events | 为身份验证注册的所有事件订阅者的记录 | 对象 | {} |
auth.events.onConnectionSuccess | 当管理员用户成功登录管理面板时调用的函数 | function | undefined |
auth.events.onConnectionError | 当管理员用户无法登录管理面板时调用的函数 | function | undefined |
url | 管理面板的 URL。默认值:/admin 。注意:如果 URL 是相对的,它将与 url 连接。 | string | /admin |
autoOpen | 启用或禁用启动时打开管理。 | boolean | true |
watchIgnoreFiles | 添加开发期间不应监视的自定义文件。更多信息请参见此处(属性 ignored )。 | array(string) | [] |
host | 为管理面板使用不同的主机。仅与 strapi evolve --watch-admin 一起使用 | 字符串 | localhost |
port | 为管理面板使用不同的端口。仅与 strapi evolve --watch-admin 一起使用 | 字符串 | 8000 |
serveAdminPanel | 如果为 false,则不会提供管理面板。注意:仍将提供 index.html ,请参阅 defaultIndex 选项 | 布尔值 | true |
flags | 用于打开或关闭管理员的某些功能或元素的设置 | 对象 | {} |
flags.nps | 启用/禁用净推荐值弹出窗口 | 布尔值 | true |
flags.promoteEE | 启用/禁用 Strapi Enterprise 功能的推广 | 布尔值 | true |
forgotPassword | 自定义忘记密码电子邮件的设置(请参阅 忘记密码电子邮件) | 对象 | {} |
forgotPassword.emailTemplate | 定义在 电子邮件插件 | 中的电子邮件模板 object | 默认模板 |
forgotPassword.from | 发件人邮件地址 | 字符串 | 定义在 你的 提供商配置 |
forgotPassword.replyTo | 要求接收方回复的默认地址 | 字符串 | 默认值定义在 你的提供程序配置 |
rateLimit | 用于自定义管理面板身份验证端点的速率限制的设置,其他配置选项来自 koa2-ratelimit | object | {} |
rateLimit.enabled | 启用或禁用速率限制器 | boolean | true |
rateLimit.interval | 将请求视为同一速率限制存储桶的一部分的时间窗口 | object | { min: 5 } |
rateLimit.max | 时间窗口中允许的最大请求数 | integer | 5 |
rateLimit.delayAfter | 延迟响应之前允许的请求数 | integer | 1 |
rateLimit.timeWait | 响应请求之前等待的时间(以毫秒为单位) | 整数 | 3000 |
rateLimit.prefixKey | 速率限制键的前缀 | 字符串 | ${userEmail}:${ctx.request.path}:${ctx.request.ip} |
rateLimit.whitelist | 速率限制白名单中的 IP 地址数组 | 数组(字符串) | [] |
rateLimit.store | 速率限制存储位置(内存、Sequelize 或 Redis),有关更多信息,请参阅 koa2-ratelimit 文档 | 对象 | MemoryStore |
transfer.token.salt | 用于生成 转移令牌 的盐。 如果没有定义转移令牌盐,转移功能将被禁用。 | 字符串 | 随机字符串 |
对于 Strapi Cloud 客户,将使用存储在许可证信息中的 auditLogs.retentionDays
值,除非在 config/admin.js|ts
配置文件中定义了较小的 retentionDays
值。
配置
./config/admin.js
文件至少应包含最低配置,其中包含身份验证和 API 令牌 所需的参数。完整配置中可以包含其他参数。
环境配置(即使用 env()
帮助程序)不需要包含所有值,只要它们存在于默认的 ./config/server.js
中即可。
最小配置
任何新项目创建的默认配置至少应包括以下内容:
js
./config/admin.js
js
module.exports = ({ env }) => ({
apiToken: {
salt: env('API_TOKEN_SALT', 'someRandomLongString'),
},
auditLogs: { // only accessible with an Enterprise plan
enabled: env.bool('AUDIT_LOGS_ENABLED', true),
},
auth: {
secret: env('ADMIN_JWT_SECRET', 'someSecretKey'),
},
transfer: {
token: {
salt: env('TRANSFER_TOKEN_SALT', 'anotherRandomLongString'),
}
},
})
Full configuration
js
./config/admin.js
js
module.exports = ({ env }) => ({
apiToken: {
salt: env('API_TOKEN_SALT', 'someRandomLongString'),
},
auditLogs: { // 仅通过企业计划即可访问
enabled: env.bool('AUDIT_LOGS_ENABLED', true),
retentionDays: 120,
},
auth: {
events: {
onConnectionSuccess(e) {
console.log(e.user, e.provider)
},
onConnectionError(e) {
console.error(e.error, e.provider)
},
},
options: {
expiresIn: '7d',
},
secret: env('ADMIN_JWT_SECRET', 'someSecretKey'),
},
url: env('PUBLIC_ADMIN_URL', '/dashboard'),
autoOpen: false,
watchIgnoreFiles: [
'./my-custom-folder', // Folder
'./scripts/someScript.sh', // File
],
host: 'localhost', // Only used for --watch-admin
port: 8003, // Only used for --watch-admin
serveAdminPanel: env.bool('SERVE_ADMIN', true),
forgotPassword: {
from: 'no-reply@example.com',
replyTo: 'no-reply@example.com',
},
rateLimit: {
interval: { hour: 1, min: 30 },
timeWait: 3 * 1000,
max: 10,
},
transfer: {
token: {
salt: env('TRANSFER_TOKEN_SALT', 'anotherRandomLongString'),
}
},
})