Server IP : 66.29.132.124 / Your IP : 18.117.184.125 Web Server : LiteSpeed System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : wavevlvu ( 1524) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/wavevlvu/book24.ng/vendor/tymon/jwt-auth/src/Console/ |
Upload File : |
<?php /* * This file is part of jwt-auth. * * (c) Sean Tymon <tymon148@gmail.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Tymon\JWTAuth\Console; use Illuminate\Console\Command; use Illuminate\Support\Str; class JWTGenerateSecretCommand extends Command { /** * The console command signature. * * @var string */ protected $signature = 'jwt:secret {--s|show : Display the key instead of modifying files.} {--always-no : Skip generating key if it already exists.} {--f|force : Skip confirmation when overwriting an existing key.}'; /** * The console command description. * * @var string */ protected $description = 'Set the JWTAuth secret key used to sign the tokens'; /** * Execute the console command. * * @return void */ public function handle() { $key = Str::random(64); if ($this->option('show')) { $this->comment($key); return; } if (file_exists($path = $this->envPath()) === false) { return $this->displayKey($key); } if (Str::contains(file_get_contents($path), 'JWT_SECRET') === false) { // create new entry file_put_contents($path, PHP_EOL."JWT_SECRET=$key".PHP_EOL, FILE_APPEND); } else { if ($this->option('always-no')) { $this->comment('Secret key already exists. Skipping...'); return; } if ($this->isConfirmed() === false) { $this->comment('Phew... No changes were made to your secret key.'); return; } // update existing entry file_put_contents($path, str_replace( 'JWT_SECRET='.$this->laravel['config']['jwt.secret'], 'JWT_SECRET='.$key, file_get_contents($path) )); } $this->displayKey($key); } /** * Display the key. * * @param string $key * * @return void */ protected function displayKey($key) { $this->laravel['config']['jwt.secret'] = $key; $this->info("jwt-auth secret [$key] set successfully."); } /** * Check if the modification is confirmed. * * @return bool */ protected function isConfirmed() { return $this->option('force') ? true : $this->confirm( 'This will invalidate all existing tokens. Are you sure you want to override the secret key?' ); } /** * Get the .env file path. * * @return string */ protected function envPath() { if (method_exists($this->laravel, 'environmentFilePath')) { return $this->laravel->environmentFilePath(); } // check if laravel version Less than 5.4.17 if (version_compare($this->laravel->version(), '5.4.17', '<')) { return $this->laravel->basePath().DIRECTORY_SEPARATOR.'.env'; } return $this->laravel->basePath('.env'); } }