Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien Lutran <julien.lutran@corp.ovh.com>2020-02-19 13:23:51 +0300
committerChristoph Wurst <christoph@winzerhof-wurst.at>2020-04-15 11:33:08 +0300
commit3e849daf11ad3c30143f2903fb7b528ef1f7da14 (patch)
tree00f5cb72a72ce559f335439a6a2c416afae7762b
parentd63abebc937583f2f97e58dc2887d88b6c6d13ee (diff)
Fix issues with Keystone auth v3 in files_external app
Signed-off-by: Julien Lutran <julien.lutran@corp.ovh.com>
-rw-r--r--apps/files_external/lib/Lib/Auth/OpenStack/OpenStackV3.php1
-rw-r--r--apps/files_external/lib/Lib/Backend/Swift.php3
-rw-r--r--lib/private/Files/ObjectStore/SwiftFactory.php4
3 files changed, 6 insertions, 2 deletions
diff --git a/apps/files_external/lib/Lib/Auth/OpenStack/OpenStackV3.php b/apps/files_external/lib/Lib/Auth/OpenStack/OpenStackV3.php
index c8a78f52c41..ee6db4818a6 100644
--- a/apps/files_external/lib/Lib/Auth/OpenStack/OpenStackV3.php
+++ b/apps/files_external/lib/Lib/Auth/OpenStack/OpenStackV3.php
@@ -46,6 +46,7 @@ class OpenStackV3 extends AuthMechanism {
new DefinitionParameter('domain', $l->t('Domain')),
(new DefinitionParameter('password', $l->t('Password')))
->setType(DefinitionParameter::VALUE_PASSWORD),
+ new DefinitionParameter('tenant', $l->t('Tenant name')),
new DefinitionParameter('url', $l->t('Identity endpoint URL'))
])
;
diff --git a/apps/files_external/lib/Lib/Backend/Swift.php b/apps/files_external/lib/Lib/Backend/Swift.php
index 25ed72337a1..5ac4346b422 100644
--- a/apps/files_external/lib/Lib/Backend/Swift.php
+++ b/apps/files_external/lib/Lib/Backend/Swift.php
@@ -44,8 +44,7 @@ class Swift extends Backend {
->addParameters([
(new DefinitionParameter('service_name', $l->t('Service name')))
->setFlag(DefinitionParameter::FLAG_OPTIONAL),
- (new DefinitionParameter('region', $l->t('Region')))
- ->setFlag(DefinitionParameter::FLAG_OPTIONAL),
+ new DefinitionParameter('region', $l->t('Region')),
new DefinitionParameter('bucket', $l->t('Bucket')),
(new DefinitionParameter('timeout', $l->t('Request timeout (seconds)')))
->setFlag(DefinitionParameter::FLAG_OPTIONAL),
diff --git a/lib/private/Files/ObjectStore/SwiftFactory.php b/lib/private/Files/ObjectStore/SwiftFactory.php
index 59446576400..7c8a1b995b4 100644
--- a/lib/private/Files/ObjectStore/SwiftFactory.php
+++ b/lib/private/Files/ObjectStore/SwiftFactory.php
@@ -119,6 +119,10 @@ class SwiftFactory {
if (!isset($this->params['tenantName']) && isset($this->params['tenant'])) {
$this->params['tenantName'] = $this->params['tenant'];
}
+ if (isset($this->params['domain'])) {
+ $this->params['scope']['project']['name'] = $this->params['tenant'];
+ $this->params['scope']['project']['domain']['name'] = $this->params['domain'];
+ }
$this->params = array_merge(self::DEFAULT_OPTIONS, $this->params);
$cacheKey = $userName . '@' . $this->params['url'] . '/' . $this->params['container'];