diff --git a/lib/AppInfo/Application.php b/lib/AppInfo/Application.php index aa07228..359ed4c 100644 --- a/lib/AppInfo/Application.php +++ b/lib/AppInfo/Application.php @@ -20,6 +20,7 @@ use OCA\GlobalSiteSelector\Listeners\UserLoggedOut; use OCA\GlobalSiteSelector\Listeners\UserLoggingIn; use OCA\GlobalSiteSelector\PublicCapabilities; +use OCA\GlobalSiteSelector\SetupChecks\LongJwtKeySetupCheck; use OCA\GlobalSiteSelector\Slave; use OCA\GlobalSiteSelector\UserBackend; use OCP\AppFramework\App; @@ -80,6 +81,8 @@ public function register(IRegistrationContext $context): void { $context->registerEventListener(UserDeletedEvent::class, UserDeleted::class); $context->registerEventListener(UserLoggedOutEvent::class, UserLoggedOut::class); + $context->registerSetupCheck(LongJwtKeySetupCheck::class); + // It seems that AccountManager use deprecated dispatcher, let's use a deprecated listener /** @var IEventDispatcher $eventDispatcher */ $dispatcher = Server::get(IEventDispatcher::class); diff --git a/lib/SetupChecks/LongJwtKeySetupCheck.php b/lib/SetupChecks/LongJwtKeySetupCheck.php new file mode 100644 index 0000000..f4ebe2a --- /dev/null +++ b/lib/SetupChecks/LongJwtKeySetupCheck.php @@ -0,0 +1,40 @@ +gss->getJwtKey()) > 31) { + return SetupResult::success('gss.jwt.key is set to a long enough string'); + } + + return SetupResult::error( + 'Current value for \'gss.jwt.key\' in `config.php` is too short, which will be a blocker in Nextcloud 34. ' + . 'Please set a new key longer than 31 chars. ' + . 'Warning: This key being shared between the Lookup Server and all instances of the Globalscale - portal and nodes - it needs to be modified at all location simultaneously'); + } +}