<?php
// Generate a random 32-byte JWT secret and base64 encode it
function generateJwtSecret($length = 32) {
return base64_encode(random_bytes($length));
}
// Path to your .env file
$envPath = __DIR__ . '/../.env';
// Generate the JWT secret
$newSecret = generateJwtSecret();
print "Generated JWT Secret: $newSecret\n";
// Read the .env file
$envContent = file_get_contents($envPath);
// Check if .env file was read successfully
if ($envContent === false) {
print "Error: Could not read .env file.\n";
exit(1);
}
// Replace the JWT_SECRET key in the .env file (or add it if it doesn't exist)
if (preg_match('/^JWT_SECRET=.*$/m', $envContent)) {
// Update existing JWT_SECRET
$newEnvContent = preg_replace('/^JWT_SECRET=.*$/m', "JWT_SECRET=$newSecret", $envContent);
} else {
// Append JWT_SECRET if it doesn't exist
$newEnvContent = $envContent . "\nJWT_SECRET=$newSecret";
}
// Write the updated content back to the .env file
if (file_put_contents($envPath, $newEnvContent) === false) {
print "Error: Could not write to .env file.\n";
exit(1);
}
print "JWT_SECRET updated successfully in .env file.\n";
// php generate_jwt_secret.php
|