Trying to set up strapi and cloudinary I watched two videos and they are all OK, but I have an error, tell me why?
Middleware “strapi::session”: App keys are required. Please set app.keys in config/server.js (ex: keys: [‘myKeyA’, ‘myKeyB’])
plugins.js
module.exports = ({ env }) => ({ // ... upload: { config: { provider: 'cloudinary', providerOptions: { cloud_name: env('CLOUDINARY_NAME'), api_key: env('CLOUDINARY_KEY'), api_secret: env('CLOUDINARY_SECRET'), }, actionOptions: { upload: {}, delete: {}, }, }, }, // ... });
.env
HOST=0.0.0.0 PORT=1337 CLOUDINARY_NAME="my data" CLOUDINARY_KEY="my data" CLOUDINARY_SECRET="my data" JWT_SECRET=my data
server.js
module.exports = ({ env }) => ({ host: env('HOST', '0.0.0.0'), port: env.int('PORT', 1337), app: { keys: env.array('APP_KEYS'), }, });
middlewares.js
module.exports = [ 'strapi::errors', 'strapi::security', 'strapi::cors', 'strapi::poweredBy', 'strapi::logger', 'strapi::query', 'strapi::body', 'strapi::session', 'strapi::favicon', 'strapi::public', ];
admin.js
module.exports = ({ env }) => ({ auth: { secret: env('ADMIN_JWT_SECRET'), }, apiToken: { salt: env('API_TOKEN_SALT'), }, });
Advertisement
Answer
It looks like you don’t have APP_KEYS
defined in your .env
file (assuming you’re sharing the full file), as well as some other env variables you’re accessing using strapi’s built in env utility.
In your .env
you should have a value for the following that should follow this format:
APP_KEYS=['key1','key2']
You can read more about environment config from Strapi’s development docs: https://docs.strapi.io/developer-docs/latest/setup-deployment-guides/configurations/optional/environment.html#strapi-s-environment-variables