allow admin to configure lookup server
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
This commit is contained in:
parent
2a773310dc
commit
1fc05ea53a
|
@ -28,18 +28,20 @@ $dispatcher->addListener('OC\AccountManager::userUpdated', function(\Symfony\Com
|
||||||
\OC::$server->getAppDataDir('identityproof'),
|
\OC::$server->getAppDataDir('identityproof'),
|
||||||
\OC::$server->getCrypto()
|
\OC::$server->getCrypto()
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$config = \OC::$server->getConfig();
|
||||||
|
$lookupServer = $config->getSystemValue('lookup_server', '');
|
||||||
|
|
||||||
$updateLookupServer = new \OCA\LookupServerConnector\UpdateLookupServer(
|
$updateLookupServer = new \OCA\LookupServerConnector\UpdateLookupServer(
|
||||||
new \OC\Accounts\AccountManager(\OC::$server->getDatabaseConnection(), \OC::$server->getEventDispatcher()),
|
new \OC\Accounts\AccountManager(\OC::$server->getDatabaseConnection(), \OC::$server->getEventDispatcher()),
|
||||||
\OC::$server->getConfig(),
|
|
||||||
\OC::$server->getSecureRandom(),
|
|
||||||
\OC::$server->getHTTPClientService(),
|
\OC::$server->getHTTPClientService(),
|
||||||
$keyManager,
|
|
||||||
new \OC\Security\IdentityProof\Signer(
|
new \OC\Security\IdentityProof\Signer(
|
||||||
$keyManager,
|
$keyManager,
|
||||||
new \OC\AppFramework\Utility\TimeFactory(),
|
new \OC\AppFramework\Utility\TimeFactory(),
|
||||||
\OC::$server->getUserManager()
|
\OC::$server->getUserManager()
|
||||||
),
|
),
|
||||||
\OC::$server->getJobList()
|
\OC::$server->getJobList(),
|
||||||
|
$lookupServer
|
||||||
);
|
);
|
||||||
$updateLookupServer->userUpdated($user);
|
$updateLookupServer->userUpdated($user);
|
||||||
});
|
});
|
||||||
|
|
|
@ -23,14 +23,11 @@
|
||||||
namespace OCA\LookupServerConnector;
|
namespace OCA\LookupServerConnector;
|
||||||
|
|
||||||
use OC\Accounts\AccountManager;
|
use OC\Accounts\AccountManager;
|
||||||
use OC\Security\IdentityProof\Manager;
|
|
||||||
use OC\Security\IdentityProof\Signer;
|
use OC\Security\IdentityProof\Signer;
|
||||||
use OCA\LookupServerConnector\BackgroundJobs\RetryJob;
|
use OCA\LookupServerConnector\BackgroundJobs\RetryJob;
|
||||||
use OCP\BackgroundJob\IJobList;
|
use OCP\BackgroundJob\IJobList;
|
||||||
use OCP\Http\Client\IClientService;
|
use OCP\Http\Client\IClientService;
|
||||||
use OCP\IConfig;
|
|
||||||
use OCP\IUser;
|
use OCP\IUser;
|
||||||
use OCP\Security\ISecureRandom;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class UpdateLookupServer
|
* Class UpdateLookupServer
|
||||||
|
@ -40,44 +37,36 @@ use OCP\Security\ISecureRandom;
|
||||||
class UpdateLookupServer {
|
class UpdateLookupServer {
|
||||||
/** @var AccountManager */
|
/** @var AccountManager */
|
||||||
private $accountManager;
|
private $accountManager;
|
||||||
/** @var IConfig */
|
|
||||||
private $config;
|
|
||||||
/** @var ISecureRandom */
|
|
||||||
private $secureRandom;
|
|
||||||
/** @var IClientService */
|
/** @var IClientService */
|
||||||
private $clientService;
|
private $clientService;
|
||||||
/** @var Manager */
|
|
||||||
private $keyManager;
|
|
||||||
/** @var Signer */
|
/** @var Signer */
|
||||||
private $signer;
|
private $signer;
|
||||||
/** @var IJobList */
|
/** @var IJobList */
|
||||||
private $jobList;
|
private $jobList;
|
||||||
/** @var string URL point to lookup server */
|
/** @var string URL point to lookup server */
|
||||||
private $lookupServer = 'https://lookup.nextcloud.com/users';
|
private $lookupServer = 'https://lookup.nextcloud.com';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param AccountManager $accountManager
|
* @param AccountManager $accountManager
|
||||||
* @param IConfig $config
|
|
||||||
* @param ISecureRandom $secureRandom
|
|
||||||
* @param IClientService $clientService
|
* @param IClientService $clientService
|
||||||
* @param Manager $manager
|
|
||||||
* @param Signer $signer
|
* @param Signer $signer
|
||||||
* @param IJobList $jobList
|
* @param IJobList $jobList
|
||||||
|
* @param string $lookupServer if nothing is given we use the default lookup server
|
||||||
*/
|
*/
|
||||||
public function __construct(AccountManager $accountManager,
|
public function __construct(AccountManager $accountManager,
|
||||||
IConfig $config,
|
|
||||||
ISecureRandom $secureRandom,
|
|
||||||
IClientService $clientService,
|
IClientService $clientService,
|
||||||
Manager $manager,
|
|
||||||
Signer $signer,
|
Signer $signer,
|
||||||
IJobList $jobList) {
|
IJobList $jobList,
|
||||||
|
$lookupServer = '') {
|
||||||
$this->accountManager = $accountManager;
|
$this->accountManager = $accountManager;
|
||||||
$this->config = $config;
|
|
||||||
$this->secureRandom = $secureRandom;
|
|
||||||
$this->clientService = $clientService;
|
$this->clientService = $clientService;
|
||||||
$this->keyManager = $manager;
|
|
||||||
$this->signer = $signer;
|
$this->signer = $signer;
|
||||||
$this->jobList = $jobList;
|
$this->jobList = $jobList;
|
||||||
|
if ($lookupServer !== '') {
|
||||||
|
$this->lookupServer = $lookupServer;
|
||||||
|
}
|
||||||
|
$this->lookupServer = rtrim($this->lookupServer, '/');
|
||||||
|
$this->lookupServer .= '/users';
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1515,4 +1515,9 @@ $CONFIG = array(
|
||||||
*/
|
*/
|
||||||
'copied_sample_config' => true,
|
'copied_sample_config' => true,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* use a custom lookup server to publish user data
|
||||||
|
*/
|
||||||
|
'lookup_server' => 'https://lookup.nextcloud.com',
|
||||||
|
|
||||||
);
|
);
|
||||||
|
|
Loading…
Reference in New Issue