Пример #1
0
 public static function regenerateTemporaryPasswordSigningKey()
 {
     $key = Security::getRandomHexString(256 / 4);
     // 256 bit
     Helper::setDatabaseConfigValueIfEnabled('OWNCLOUD_TEMPORARY_PASSWORD_SIGNING_KEY', $key);
 }
 public function saveConfig($config)
 {
     $allowedKeys = array('SPREED_WEBRTC_ORIGIN', 'SPREED_WEBRTC_BASEPATH', 'OWNCLOUD_TEMPORARY_PASSWORD_LOGIN_ENABLED', 'SPREED_WEBRTC_IS_SHARED_INSTANCE');
     $_response = array('success' => false);
     try {
         foreach ($allowedKeys as $key) {
             if (isset($config[$key])) {
                 $value = $config[$key];
                 Helper::setDatabaseConfigValueIfEnabled($key, $value);
                 // Extra configuration for some of the keys
                 switch ($key) {
                     case 'OWNCLOUD_TEMPORARY_PASSWORD_LOGIN_ENABLED':
                         if ($value === 'true' && Helper::getDatabaseConfigValue('OWNCLOUD_TEMPORARY_PASSWORD_SIGNING_KEY') === '') {
                             // Also generate a 'Temporary Password signing key'
                             Security::regenerateTemporaryPasswordSigningKey();
                         }
                         break;
                 }
             }
         }
         Helper::setDatabaseConfigValueIfEnabled('is_set_up', 'true');
         $_response['success'] = true;
     } catch (\Exception $e) {
         $_response['error'] = $e->getCode();
     }
     return new DataResponse($_response);
 }