websocket allowed origins implementation

This commit is contained in:
Čarodej
2022-04-22 09:44:40 +02:00
parent 5e86799a82
commit 6e8714aec5
4 changed files with 52 additions and 2 deletions

View File

@@ -90,6 +90,7 @@ PUSHER_APP_CLUSTER=mt1
PUSHER_APP_HOST= PUSHER_APP_HOST=
PUSHER_APP_PORT= PUSHER_APP_PORT=
PUSHER_APP_TLS=true PUSHER_APP_TLS=true
PUSHER_APP_ALLOWED_ORIGIN=
IS_ADMIN_VUEFILEMANAGER_BAR=true IS_ADMIN_VUEFILEMANAGER_BAR=true
IS_SETUP_WIZARD_DEMO=false IS_SETUP_WIZARD_DEMO=false

View File

@@ -46,8 +46,7 @@ return [
* This array contains the hosts of which you want to allow incoming requests. * This array contains the hosts of which you want to allow incoming requests.
* Leave this empty if you want to accept requests from all hosts. * Leave this empty if you want to accept requests from all hosts.
*/ */
'allowed_origins' => [ 'allowed_origins' => explode(',', env('PUSHER_APP_ALLOWED_ORIGIN', '')),
],
/* /*
* The maximum request size in kilobytes that is allowed for an incoming WebSocket request. * The maximum request size in kilobytes that is allowed for an incoming WebSocket request.

View File

@@ -0,0 +1,48 @@
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
class SetupWebsocketEnvironment extends Command
{
/**
* The name and signature of the console command.
*/
protected $signature = 'websockets:install';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Set up websocket production environment';
/**
* Execute the console command.
*/
public function handle(): void
{
// Get allowed origins
$origins = $this->ask('Type host of which you want to allow incoming requests. If you want to accept multiple hosts, separate them with comma(,)');
// Store origins to the .env file
setEnvironmentValue([
'PUSHER_APP_ALLOWED_ORIGIN' => $origins,
'APP_ENV' => 'production',
'APP_DEBUG' => 'false',
]);
$this->info('Your host/s was stored successfully.');
// Generate new app key
$this->call('key:generate', [
'--force' => true,
]);
// Clear cache
$this->call('config:clear');
$this->info('Everything is done, congratulations! 🥳🥳🥳');
}
}

View File

@@ -1,6 +1,7 @@
<?php <?php
namespace App\Console; namespace App\Console;
use App\Console\Commands\SetupWebsocketEnvironment;
use Illuminate\Console\Scheduling\Schedule; use Illuminate\Console\Scheduling\Schedule;
use App\Console\Commands\SetupDevEnvironment; use App\Console\Commands\SetupDevEnvironment;
use App\Console\Commands\SetupProdEnvironment; use App\Console\Commands\SetupProdEnvironment;
@@ -25,6 +26,7 @@ class Kernel extends ConsoleKernel
// Basic demo content generator // Basic demo content generator
SetupDevEnvironment::class, SetupDevEnvironment::class,
SetupProdEnvironment::class, SetupProdEnvironment::class,
SetupWebsocketEnvironment::class,
// Subscription demo generator // Subscription demo generator
GenerateDemoSubscriptionContentCommand::class, GenerateDemoSubscriptionContentCommand::class,