Passed
Push — master ( 9b5245...a3dc81 )
by John
13:58 queued 12s
created

KerberosApacheAuth   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 20
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
eloc 14
c 1
b 0
f 1
dl 0
loc 20
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A getCredentialsStore() 0 2 1
A __construct() 0 12 1
1
<?php
2
3
/**
4
 * @copyright Copyright (c) 2018 Robin Appelman <[email protected]>
5
 *
6
 * @author Robin Appelman <[email protected]>
7
 *
8
 * @license GNU AGPL version 3 or any later version
9
 *
10
 * This program is free software: you can redistribute it and/or modify
11
 * it under the terms of the GNU Affero General Public License as
12
 * published by the Free Software Foundation, either version 3 of the
13
 * License, or (at your option) any later version.
14
 *
15
 * This program is distributed in the hope that it will be useful,
16
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18
 * GNU Affero General Public License for more details.
19
 *
20
 * You should have received a copy of the GNU Affero General Public License
21
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
22
 *
23
 */
24
25
namespace OCA\Files_External\Lib\Auth\SMB;
26
27
use OCA\Files_External\Lib\Auth\AuthMechanism;
28
use OCA\Files_External\Lib\DefinitionParameter;
29
use OCP\Authentication\LoginCredentials\IStore;
30
use OCP\IL10N;
31
32
class KerberosApacheAuth extends AuthMechanism {
33
	/** @var IStore */
34
	private $credentialsStore;
35
36
	public function __construct(IL10N $l, IStore $credentialsStore) {
37
		$realm = new DefinitionParameter('default_realm', 'Default realm');
38
		$realm
39
			->setType(DefinitionParameter::VALUE_TEXT)
40
			->setFlag(DefinitionParameter::FLAG_OPTIONAL)
41
			->setTooltip($l->t('Kerberos default realm, defaults to "WORKGROUP"'));
42
		$this
43
			->setIdentifier('smb::kerberosapache')
44
			->setScheme(self::SCHEME_SMB)
45
			->setText($l->t('Kerberos ticket apache mode'))
46
			->addParameter($realm);
47
		$this->credentialsStore = $credentialsStore;
48
	}
49
50
	public function getCredentialsStore(): IStore {
51
		return $this->credentialsStore;
52
	}
53
}
54