javascriptamazon-web-servicesamazon-s3amazon-ec2strapi

Missing jwtSecret. Please, set configuration variable "jwtSecret" for the users-permissions plugin in config/plugins.js


I am following this tutorial on Strapi's website: https://docs.strapi.io/developer-docs/latest/setup-deployment-guides/deployment/hosting-guides/amazon-aws.html to deploy to AWS. It doesn't mention a jwtSecret throughout the entire tutorial but I am getting the error mentioned in the title and I am not sure what to do.

My plugins.js file is the following:

module.exports = ({ env }) => ({
upload: {
    config: {
        provider: 'aws-s3',
        providerOptions: {
            accessKeyId: env('AWS_ACCESS_KEY_ID'),
            secretAccessKey: env('AWS_ACCESS_SECRET'),
            region: env('AWS_REGION'),
            params: {
                Bucket: env('AWS_BUCKET_NAME'),
            },
        },
    },
}});

All the variables are declared in my environment file but it doesn't mention a jwtSecret. I am sorry if this is a stupid question but I greatly appreciate the help.


Solution

  • Just try adding a new file in '/config' named plugins.js with this code:

    const crypto = require('crypto');
    
    module.exports = ({ env }) => ({
      'users-permissions': {
        config: {
          jwtSecret: env('JWT_SECRET') || crypto.randomBytes(16).toString('base64'),
        },
      },
    });