strapi v3 中的 admin jwt 秘密是什么

what is admin jwt secret in strapi v3

当我使用 npx create-strapi-app 创建 strapi 环境时,config 文件夹中的 server.js 文件有这个 admin jwt secret 环境变量,它的用途是什么

module.exports = ({ env }) => ({
  host: env('HOST', '0.0.0.0'),
  port: env.int('PORT', 1337),
  admin: {
    auth: {
      secret: env('ADMIN_JWT_SECRET', 'dfee1c43fb8d2e506ad627'),
    },
  },
});

server.admin.auth.secret 在管理员授权过程中用于创建 JWT 令牌

早期 3.1 管理部分的秘密自动生成,但从 3.1 开始它应该是配置的一部分。请检查 migration guide

让我们检查源代码authentication.js 我们可以看到 createJwtToken 用于管理部分的令牌创建。 此处定义 services/token.js 指的是

const getTokenOptions = () => {
  const { options, secret } = strapi.config.get('server.admin.auth', {});

  return {
    secret,
    options: _.merge(defaultJwtOptions, options),
  };
};

在这里您可以看到 server.js 中的 secret 用于创建 JWT。 server.js 配置建议使用带有 ADMIN_ 前缀的环境变量来标识它与管理部分相关并与 API

的 JWT 分开