added key generation task.
This commit is contained in:
53
laravel/cli/tasks/key.php
Normal file
53
laravel/cli/tasks/key.php
Normal file
@@ -0,0 +1,53 @@
|
||||
<?php namespace Laravel\CLI\Tasks;
|
||||
|
||||
use Laravel\Str;
|
||||
use Laravel\File;
|
||||
|
||||
class Key extends Task {
|
||||
|
||||
/**
|
||||
* The path to the application config.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $path;
|
||||
|
||||
/**
|
||||
* Create a new instance of the Key task.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->path = APP_PATH.'config/application'.EXT;
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate a random key for the application.
|
||||
*
|
||||
* @param array $arguments
|
||||
* @return void
|
||||
*/
|
||||
public function generate($arguments = array())
|
||||
{
|
||||
// By default the Crypter class uses AES-256 encryption which uses
|
||||
// a 32 byte input vector, so that is the length of string we will
|
||||
// generate for the application token unless another length is
|
||||
// specified through the CLI.
|
||||
$key = Str::random(array_get($arguments, 0, 32));
|
||||
|
||||
$config = str_replace("'key' => '',", "'key' => '{$key}',", File::get($this->path), $count);
|
||||
|
||||
File::put($this->path, $config);
|
||||
|
||||
if ($count > 0)
|
||||
{
|
||||
echo "Configuration updated with secure key!";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "An application key already exists!";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user