Completed
Pull Request — master (#4704)
by Lukas
20:57
created
apps/oauth2/lib/Controller/SettingsController.php 1 patch
Indentation   +61 added lines, -61 removed lines patch added patch discarded remove patch
@@ -32,69 +32,69 @@
 block discarded – undo
32 32
 use OCP\Security\ISecureRandom;
33 33
 
34 34
 class SettingsController extends Controller {
35
-	/** @var IURLGenerator */
36
-	private $urlGenerator;
37
-	/** @var ClientMapper */
38
-	private $clientMapper;
39
-	/** @var ISecureRandom */
40
-	private $secureRandom;
41
-	/** @var AccessTokenMapper  */
42
-	private $accessTokenMapper;
43
-	/** @var  DefaultTokenMapper */
44
-	private $defaultTokenMapper;
35
+    /** @var IURLGenerator */
36
+    private $urlGenerator;
37
+    /** @var ClientMapper */
38
+    private $clientMapper;
39
+    /** @var ISecureRandom */
40
+    private $secureRandom;
41
+    /** @var AccessTokenMapper  */
42
+    private $accessTokenMapper;
43
+    /** @var  DefaultTokenMapper */
44
+    private $defaultTokenMapper;
45 45
 
46
-	const validChars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
46
+    const validChars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
47 47
 
48
-	/**
49
-	 * @param string $appName
50
-	 * @param IRequest $request
51
-	 * @param IURLGenerator $urlGenerator
52
-	 * @param ClientMapper $clientMapper
53
-	 * @param ISecureRandom $secureRandom
54
-	 * @param AccessTokenMapper $accessTokenMapper
55
-	 * @param DefaultTokenMapper $defaultTokenMapper
56
-	 */
57
-	public function __construct($appName,
58
-								IRequest $request,
59
-								IURLGenerator $urlGenerator,
60
-								ClientMapper $clientMapper,
61
-								ISecureRandom $secureRandom,
62
-								AccessTokenMapper $accessTokenMapper,
63
-								DefaultTokenMapper $defaultTokenMapper
64
-	) {
65
-		parent::__construct($appName, $request);
66
-		$this->urlGenerator = $urlGenerator;
67
-		$this->secureRandom = $secureRandom;
68
-		$this->clientMapper = $clientMapper;
69
-		$this->accessTokenMapper = $accessTokenMapper;
70
-		$this->defaultTokenMapper = $defaultTokenMapper;
71
-	}
48
+    /**
49
+     * @param string $appName
50
+     * @param IRequest $request
51
+     * @param IURLGenerator $urlGenerator
52
+     * @param ClientMapper $clientMapper
53
+     * @param ISecureRandom $secureRandom
54
+     * @param AccessTokenMapper $accessTokenMapper
55
+     * @param DefaultTokenMapper $defaultTokenMapper
56
+     */
57
+    public function __construct($appName,
58
+                                IRequest $request,
59
+                                IURLGenerator $urlGenerator,
60
+                                ClientMapper $clientMapper,
61
+                                ISecureRandom $secureRandom,
62
+                                AccessTokenMapper $accessTokenMapper,
63
+                                DefaultTokenMapper $defaultTokenMapper
64
+    ) {
65
+        parent::__construct($appName, $request);
66
+        $this->urlGenerator = $urlGenerator;
67
+        $this->secureRandom = $secureRandom;
68
+        $this->clientMapper = $clientMapper;
69
+        $this->accessTokenMapper = $accessTokenMapper;
70
+        $this->defaultTokenMapper = $defaultTokenMapper;
71
+    }
72 72
 
73
-	/**
74
-	 * @param string $name
75
-	 * @param string $redirectUri
76
-	 * @return RedirectResponse
77
-	 */
78
-	public function addClient($name,
79
-							  $redirectUri) {
80
-		$client = new Client();
81
-		$client->setName($name);
82
-		$client->setRedirectUri($redirectUri);
83
-		$client->setSecret($this->secureRandom->generate(64, self::validChars));
84
-		$client->setClientIdentifier($this->secureRandom->generate(64, self::validChars));
85
-		$this->clientMapper->insert($client);
86
-		return new RedirectResponse($this->urlGenerator->getAbsoluteURL('/index.php/settings/admin/security'));
87
-	}
73
+    /**
74
+     * @param string $name
75
+     * @param string $redirectUri
76
+     * @return RedirectResponse
77
+     */
78
+    public function addClient($name,
79
+                                $redirectUri) {
80
+        $client = new Client();
81
+        $client->setName($name);
82
+        $client->setRedirectUri($redirectUri);
83
+        $client->setSecret($this->secureRandom->generate(64, self::validChars));
84
+        $client->setClientIdentifier($this->secureRandom->generate(64, self::validChars));
85
+        $this->clientMapper->insert($client);
86
+        return new RedirectResponse($this->urlGenerator->getAbsoluteURL('/index.php/settings/admin/security'));
87
+    }
88 88
 
89
-	/**
90
-	 * @param int $id
91
-	 * @return RedirectResponse
92
-	 */
93
-	public function deleteClient($id) {
94
-		$client = $this->clientMapper->getByUid($id);
95
-		$this->accessTokenMapper->deleteByClientId($id);
96
-		$this->defaultTokenMapper->deleteByName($client->getName());
97
-		$this->clientMapper->delete($client);
98
-		return new RedirectResponse($this->urlGenerator->getAbsoluteURL('/index.php/settings/admin/security'));
99
-	}
89
+    /**
90
+     * @param int $id
91
+     * @return RedirectResponse
92
+     */
93
+    public function deleteClient($id) {
94
+        $client = $this->clientMapper->getByUid($id);
95
+        $this->accessTokenMapper->deleteByClientId($id);
96
+        $this->defaultTokenMapper->deleteByName($client->getName());
97
+        $this->clientMapper->delete($client);
98
+        return new RedirectResponse($this->urlGenerator->getAbsoluteURL('/index.php/settings/admin/security'));
99
+    }
100 100
 }
Please login to merge, or discard this patch.
apps/oauth2/templates/admin.php 1 patch
Indentation   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -46,9 +46,9 @@
 block discarded – undo
46 46
 		</thead>
47 47
 		<tbody>
48 48
 		<?php
49
-		$imageUrl = $urlGenerator->imagePath('core', 'actions/toggle.svg');
50
-		foreach ($clients as $client) {
51
-		?>
49
+        $imageUrl = $urlGenerator->imagePath('core', 'actions/toggle.svg');
50
+        foreach ($clients as $client) {
51
+        ?>
52 52
 			<tr>
53 53
 				<td><?php p($client->getName()); ?></td>
54 54
 				<td><?php p($client->getRedirectUri()); ?></td>
Please login to merge, or discard this patch.
apps/oauth2/lib/Controller/LoginRedirectorController.php 1 patch
Indentation   +44 added lines, -44 removed lines patch added patch discarded remove patch
@@ -29,51 +29,51 @@
 block discarded – undo
29 29
 use OCP\IURLGenerator;
30 30
 
31 31
 class LoginRedirectorController extends Controller {
32
-	/** @var IURLGenerator */
33
-	private $urlGenerator;
34
-	/** @var ClientMapper */
35
-	private $clientMapper;
36
-	/** @var ISession */
37
-	private $session;
32
+    /** @var IURLGenerator */
33
+    private $urlGenerator;
34
+    /** @var ClientMapper */
35
+    private $clientMapper;
36
+    /** @var ISession */
37
+    private $session;
38 38
 
39
-	/**
40
-	 * @param string $appName
41
-	 * @param IRequest $request
42
-	 * @param IURLGenerator $urlGenerator
43
-	 * @param ClientMapper $clientMapper
44
-	 * @param ISession $session
45
-	 */
46
-	public function __construct($appName,
47
-								IRequest $request,
48
-								IURLGenerator $urlGenerator,
49
-								ClientMapper $clientMapper,
50
-								ISession $session) {
51
-		parent::__construct($appName, $request);
52
-		$this->urlGenerator = $urlGenerator;
53
-		$this->clientMapper = $clientMapper;
54
-		$this->session = $session;
55
-	}
39
+    /**
40
+     * @param string $appName
41
+     * @param IRequest $request
42
+     * @param IURLGenerator $urlGenerator
43
+     * @param ClientMapper $clientMapper
44
+     * @param ISession $session
45
+     */
46
+    public function __construct($appName,
47
+                                IRequest $request,
48
+                                IURLGenerator $urlGenerator,
49
+                                ClientMapper $clientMapper,
50
+                                ISession $session) {
51
+        parent::__construct($appName, $request);
52
+        $this->urlGenerator = $urlGenerator;
53
+        $this->clientMapper = $clientMapper;
54
+        $this->session = $session;
55
+    }
56 56
 
57
-	/**
58
-	 * @PublicPage
59
-	 * @NoCSRFRequired
60
-	 * @UseSession
61
-	 *
62
-	 * @param string $client_id
63
-	 * @param string $state
64
-	 * @return RedirectResponse
65
-	 */
66
-	public function authorize($client_id,
67
-							  $state) {
68
-		$client = $this->clientMapper->getByIdentifier($client_id);
69
-		$this->session->set('oauth.state', $state);
57
+    /**
58
+     * @PublicPage
59
+     * @NoCSRFRequired
60
+     * @UseSession
61
+     *
62
+     * @param string $client_id
63
+     * @param string $state
64
+     * @return RedirectResponse
65
+     */
66
+    public function authorize($client_id,
67
+                                $state) {
68
+        $client = $this->clientMapper->getByIdentifier($client_id);
69
+        $this->session->set('oauth.state', $state);
70 70
 
71
-		$targetUrl = $this->urlGenerator->linkToRouteAbsolute(
72
-			'core.ClientFlowLogin.showAuthPickerPage',
73
-			[
74
-				'clientIdentifier' => $client->getClientIdentifier(),
75
-			]
76
-		);
77
-		return new RedirectResponse($targetUrl);
78
-	}
71
+        $targetUrl = $this->urlGenerator->linkToRouteAbsolute(
72
+            'core.ClientFlowLogin.showAuthPickerPage',
73
+            [
74
+                'clientIdentifier' => $client->getClientIdentifier(),
75
+            ]
76
+        );
77
+        return new RedirectResponse($targetUrl);
78
+    }
79 79
 }
Please login to merge, or discard this patch.
apps/oauth2/lib/Controller/OauthApiController.php 1 patch
Indentation   +52 added lines, -52 removed lines patch added patch discarded remove patch
@@ -30,59 +30,59 @@
 block discarded – undo
30 30
 use OCP\Security\ISecureRandom;
31 31
 
32 32
 class OauthApiController extends Controller {
33
-	/** @var AccessTokenMapper */
34
-	private $accessTokenMapper;
35
-	/** @var ICrypto */
36
-	private $crypto;
37
-	/** @var DefaultTokenMapper */
38
-	private $defaultTokenMapper;
39
-	/** @var ISecureRandom */
40
-	private $secureRandom;
33
+    /** @var AccessTokenMapper */
34
+    private $accessTokenMapper;
35
+    /** @var ICrypto */
36
+    private $crypto;
37
+    /** @var DefaultTokenMapper */
38
+    private $defaultTokenMapper;
39
+    /** @var ISecureRandom */
40
+    private $secureRandom;
41 41
 
42
-	/**
43
-	 * @param string $appName
44
-	 * @param IRequest $request
45
-	 * @param ICrypto $crypto
46
-	 * @param AccessTokenMapper $accessTokenMapper
47
-	 * @param DefaultTokenMapper $defaultTokenMapper
48
-	 * @param ISecureRandom $secureRandom
49
-	 */
50
-	public function __construct($appName,
51
-								IRequest $request,
52
-								ICrypto $crypto,
53
-								AccessTokenMapper $accessTokenMapper,
54
-								DefaultTokenMapper $defaultTokenMapper,
55
-								ISecureRandom $secureRandom) {
56
-		parent::__construct($appName, $request);
57
-		$this->crypto = $crypto;
58
-		$this->accessTokenMapper = $accessTokenMapper;
59
-		$this->defaultTokenMapper = $defaultTokenMapper;
60
-		$this->secureRandom = $secureRandom;
61
-	}
42
+    /**
43
+     * @param string $appName
44
+     * @param IRequest $request
45
+     * @param ICrypto $crypto
46
+     * @param AccessTokenMapper $accessTokenMapper
47
+     * @param DefaultTokenMapper $defaultTokenMapper
48
+     * @param ISecureRandom $secureRandom
49
+     */
50
+    public function __construct($appName,
51
+                                IRequest $request,
52
+                                ICrypto $crypto,
53
+                                AccessTokenMapper $accessTokenMapper,
54
+                                DefaultTokenMapper $defaultTokenMapper,
55
+                                ISecureRandom $secureRandom) {
56
+        parent::__construct($appName, $request);
57
+        $this->crypto = $crypto;
58
+        $this->accessTokenMapper = $accessTokenMapper;
59
+        $this->defaultTokenMapper = $defaultTokenMapper;
60
+        $this->secureRandom = $secureRandom;
61
+    }
62 62
 
63
-	/**
64
-	 * @PublicPage
65
-	 * @NoCSRFRequired
66
-	 *
67
-	 * @param string $code
68
-	 * @return JSONResponse
69
-	 */
70
-	public function getToken($code) {
71
-		$accessToken = $this->accessTokenMapper->getByCode($code);
72
-		$decryptedToken = $this->crypto->decrypt($accessToken->getEncryptedToken(), $code);
73
-		$newCode = $this->secureRandom->generate(128);
74
-		$accessToken->setHashedCode(hash('sha512', $newCode));
75
-		$accessToken->setEncryptedToken($this->crypto->encrypt($decryptedToken, $newCode));
76
-		$this->accessTokenMapper->update($accessToken);
63
+    /**
64
+     * @PublicPage
65
+     * @NoCSRFRequired
66
+     *
67
+     * @param string $code
68
+     * @return JSONResponse
69
+     */
70
+    public function getToken($code) {
71
+        $accessToken = $this->accessTokenMapper->getByCode($code);
72
+        $decryptedToken = $this->crypto->decrypt($accessToken->getEncryptedToken(), $code);
73
+        $newCode = $this->secureRandom->generate(128);
74
+        $accessToken->setHashedCode(hash('sha512', $newCode));
75
+        $accessToken->setEncryptedToken($this->crypto->encrypt($decryptedToken, $newCode));
76
+        $this->accessTokenMapper->update($accessToken);
77 77
 
78
-		return new JSONResponse(
79
-			[
80
-				'access_token' => $decryptedToken,
81
-				'token_type' => 'Bearer',
82
-				'expires_in' => 3600,
83
-				'refresh_token' => $newCode,
84
-				'user_id' => $this->defaultTokenMapper->getTokenById($accessToken->getTokenId())->getUID(),
85
-			]
86
-		);
87
-	}
78
+        return new JSONResponse(
79
+            [
80
+                'access_token' => $decryptedToken,
81
+                'token_type' => 'Bearer',
82
+                'expires_in' => 3600,
83
+                'refresh_token' => $newCode,
84
+                'user_id' => $this->defaultTokenMapper->getTokenById($accessToken->getTokenId())->getUID(),
85
+            ]
86
+        );
87
+    }
88 88
 }
Please login to merge, or discard this patch.
core/Controller/ClientFlowLoginController.php 2 patches
Indentation   +244 added lines, -244 removed lines patch added patch discarded remove patch
@@ -43,269 +43,269 @@
 block discarded – undo
43 43
 use OCP\Session\Exceptions\SessionNotAvailableException;
44 44
 
45 45
 class ClientFlowLoginController extends Controller {
46
-	/** @var IUserSession */
47
-	private $userSession;
48
-	/** @var IL10N */
49
-	private $l10n;
50
-	/** @var Defaults */
51
-	private $defaults;
52
-	/** @var ISession */
53
-	private $session;
54
-	/** @var IProvider */
55
-	private $tokenProvider;
56
-	/** @var ISecureRandom */
57
-	private $random;
58
-	/** @var IURLGenerator */
59
-	private $urlGenerator;
60
-	/** @var ClientMapper */
61
-	private $clientMapper;
62
-	/** @var AccessTokenMapper */
63
-	private $accessTokenMapper;
64
-	/** @var ICrypto */
65
-	private $crypto;
46
+    /** @var IUserSession */
47
+    private $userSession;
48
+    /** @var IL10N */
49
+    private $l10n;
50
+    /** @var Defaults */
51
+    private $defaults;
52
+    /** @var ISession */
53
+    private $session;
54
+    /** @var IProvider */
55
+    private $tokenProvider;
56
+    /** @var ISecureRandom */
57
+    private $random;
58
+    /** @var IURLGenerator */
59
+    private $urlGenerator;
60
+    /** @var ClientMapper */
61
+    private $clientMapper;
62
+    /** @var AccessTokenMapper */
63
+    private $accessTokenMapper;
64
+    /** @var ICrypto */
65
+    private $crypto;
66 66
 
67
-	const stateName = 'client.flow.state.token';
67
+    const stateName = 'client.flow.state.token';
68 68
 
69
-	/**
70
-	 * @param string $appName
71
-	 * @param IRequest $request
72
-	 * @param IUserSession $userSession
73
-	 * @param IL10N $l10n
74
-	 * @param Defaults $defaults
75
-	 * @param ISession $session
76
-	 * @param IProvider $tokenProvider
77
-	 * @param ISecureRandom $random
78
-	 * @param IURLGenerator $urlGenerator
79
-	 * @param ClientMapper $clientMapper
80
-	 * @param AccessTokenMapper $accessTokenMapper
81
-	 * @param ICrypto $crypto
82
-	 */
83
-	public function __construct($appName,
84
-								IRequest $request,
85
-								IUserSession $userSession,
86
-								IL10N $l10n,
87
-								Defaults $defaults,
88
-								ISession $session,
89
-								IProvider $tokenProvider,
90
-								ISecureRandom $random,
91
-								IURLGenerator $urlGenerator,
92
-								ClientMapper $clientMapper,
93
-								AccessTokenMapper $accessTokenMapper,
94
-								ICrypto $crypto) {
95
-		parent::__construct($appName, $request);
96
-		$this->userSession = $userSession;
97
-		$this->l10n = $l10n;
98
-		$this->defaults = $defaults;
99
-		$this->session = $session;
100
-		$this->tokenProvider = $tokenProvider;
101
-		$this->random = $random;
102
-		$this->urlGenerator = $urlGenerator;
103
-		$this->clientMapper = $clientMapper;
104
-		$this->accessTokenMapper = $accessTokenMapper;
105
-		$this->crypto = $crypto;
106
-	}
69
+    /**
70
+     * @param string $appName
71
+     * @param IRequest $request
72
+     * @param IUserSession $userSession
73
+     * @param IL10N $l10n
74
+     * @param Defaults $defaults
75
+     * @param ISession $session
76
+     * @param IProvider $tokenProvider
77
+     * @param ISecureRandom $random
78
+     * @param IURLGenerator $urlGenerator
79
+     * @param ClientMapper $clientMapper
80
+     * @param AccessTokenMapper $accessTokenMapper
81
+     * @param ICrypto $crypto
82
+     */
83
+    public function __construct($appName,
84
+                                IRequest $request,
85
+                                IUserSession $userSession,
86
+                                IL10N $l10n,
87
+                                Defaults $defaults,
88
+                                ISession $session,
89
+                                IProvider $tokenProvider,
90
+                                ISecureRandom $random,
91
+                                IURLGenerator $urlGenerator,
92
+                                ClientMapper $clientMapper,
93
+                                AccessTokenMapper $accessTokenMapper,
94
+                                ICrypto $crypto) {
95
+        parent::__construct($appName, $request);
96
+        $this->userSession = $userSession;
97
+        $this->l10n = $l10n;
98
+        $this->defaults = $defaults;
99
+        $this->session = $session;
100
+        $this->tokenProvider = $tokenProvider;
101
+        $this->random = $random;
102
+        $this->urlGenerator = $urlGenerator;
103
+        $this->clientMapper = $clientMapper;
104
+        $this->accessTokenMapper = $accessTokenMapper;
105
+        $this->crypto = $crypto;
106
+    }
107 107
 
108
-	/**
109
-	 * @return string
110
-	 */
111
-	private function getClientName() {
112
-		return $this->request->getHeader('USER_AGENT') !== null ? $this->request->getHeader('USER_AGENT') : 'unknown';
113
-	}
108
+    /**
109
+     * @return string
110
+     */
111
+    private function getClientName() {
112
+        return $this->request->getHeader('USER_AGENT') !== null ? $this->request->getHeader('USER_AGENT') : 'unknown';
113
+    }
114 114
 
115
-	/**
116
-	 * @param string $stateToken
117
-	 * @return bool
118
-	 */
119
-	private function isValidToken($stateToken) {
120
-		$currentToken = $this->session->get(self::stateName);
121
-		if(!is_string($stateToken) || !is_string($currentToken)) {
122
-			return false;
123
-		}
124
-		return hash_equals($currentToken, $stateToken);
125
-	}
115
+    /**
116
+     * @param string $stateToken
117
+     * @return bool
118
+     */
119
+    private function isValidToken($stateToken) {
120
+        $currentToken = $this->session->get(self::stateName);
121
+        if(!is_string($stateToken) || !is_string($currentToken)) {
122
+            return false;
123
+        }
124
+        return hash_equals($currentToken, $stateToken);
125
+    }
126 126
 
127
-	/**
128
-	 * @return TemplateResponse
129
-	 */
130
-	private function stateTokenForbiddenResponse() {
131
-		$response = new TemplateResponse(
132
-			$this->appName,
133
-			'403',
134
-			[
135
-				'file' => $this->l10n->t('State token does not match'),
136
-			],
137
-			'guest'
138
-		);
139
-		$response->setStatus(Http::STATUS_FORBIDDEN);
140
-		return $response;
141
-	}
127
+    /**
128
+     * @return TemplateResponse
129
+     */
130
+    private function stateTokenForbiddenResponse() {
131
+        $response = new TemplateResponse(
132
+            $this->appName,
133
+            '403',
134
+            [
135
+                'file' => $this->l10n->t('State token does not match'),
136
+            ],
137
+            'guest'
138
+        );
139
+        $response->setStatus(Http::STATUS_FORBIDDEN);
140
+        return $response;
141
+    }
142 142
 
143
-	/**
144
-	 * @PublicPage
145
-	 * @NoCSRFRequired
146
-	 * @UseSession
147
-	 *
148
-	 * @param string $clientIdentifier
149
-	 *
150
-	 * @return TemplateResponse
151
-	 */
152
-	public function showAuthPickerPage($clientIdentifier = '') {
153
-		$clientName = $this->getClientName();
154
-		$client = null;
155
-		if($clientIdentifier !== '') {
156
-			$client = $this->clientMapper->getByIdentifier($clientIdentifier);
157
-			$clientName = $client->getName();
158
-		}
143
+    /**
144
+     * @PublicPage
145
+     * @NoCSRFRequired
146
+     * @UseSession
147
+     *
148
+     * @param string $clientIdentifier
149
+     *
150
+     * @return TemplateResponse
151
+     */
152
+    public function showAuthPickerPage($clientIdentifier = '') {
153
+        $clientName = $this->getClientName();
154
+        $client = null;
155
+        if($clientIdentifier !== '') {
156
+            $client = $this->clientMapper->getByIdentifier($clientIdentifier);
157
+            $clientName = $client->getName();
158
+        }
159 159
 
160
-		// No valid clientIdentifier given and no valid API Request (APIRequest header not set)
161
-		$clientRequest = $this->request->getHeader('OCS-APIREQUEST');
162
-		if ($clientRequest !== 'true' && $client === null) {
163
-			return new TemplateResponse(
164
-				$this->appName,
165
-				'error',
166
-				[
167
-					'errors' =>
168
-					[
169
-						[
170
-							'error' => 'Access Forbidden',
171
-							'hint' => 'Invalid request',
172
-						],
173
-					],
174
-				],
175
-				'guest'
176
-			);
177
-		}
160
+        // No valid clientIdentifier given and no valid API Request (APIRequest header not set)
161
+        $clientRequest = $this->request->getHeader('OCS-APIREQUEST');
162
+        if ($clientRequest !== 'true' && $client === null) {
163
+            return new TemplateResponse(
164
+                $this->appName,
165
+                'error',
166
+                [
167
+                    'errors' =>
168
+                    [
169
+                        [
170
+                            'error' => 'Access Forbidden',
171
+                            'hint' => 'Invalid request',
172
+                        ],
173
+                    ],
174
+                ],
175
+                'guest'
176
+            );
177
+        }
178 178
 
179
-		$stateToken = $this->random->generate(
180
-			64,
181
-			ISecureRandom::CHAR_LOWER.ISecureRandom::CHAR_UPPER.ISecureRandom::CHAR_DIGITS
182
-		);
183
-		$this->session->set(self::stateName, $stateToken);
179
+        $stateToken = $this->random->generate(
180
+            64,
181
+            ISecureRandom::CHAR_LOWER.ISecureRandom::CHAR_UPPER.ISecureRandom::CHAR_DIGITS
182
+        );
183
+        $this->session->set(self::stateName, $stateToken);
184 184
 
185
-		return new TemplateResponse(
186
-			$this->appName,
187
-			'loginflow/authpicker',
188
-			[
189
-				'client' => $clientName,
190
-				'clientIdentifier' => $clientIdentifier,
191
-				'instanceName' => $this->defaults->getName(),
192
-				'urlGenerator' => $this->urlGenerator,
193
-				'stateToken' => $stateToken,
194
-				'serverHost' => $this->request->getServerHost(),
195
-			],
196
-			'guest'
197
-		);
198
-	}
185
+        return new TemplateResponse(
186
+            $this->appName,
187
+            'loginflow/authpicker',
188
+            [
189
+                'client' => $clientName,
190
+                'clientIdentifier' => $clientIdentifier,
191
+                'instanceName' => $this->defaults->getName(),
192
+                'urlGenerator' => $this->urlGenerator,
193
+                'stateToken' => $stateToken,
194
+                'serverHost' => $this->request->getServerHost(),
195
+            ],
196
+            'guest'
197
+        );
198
+    }
199 199
 
200
-	/**
201
-	 * @NoAdminRequired
202
-	 * @NoCSRFRequired
203
-	 * @UseSession
204
-	 *
205
-	 * @param string $stateToken
206
-	 * @param string $clientIdentifier
207
-	 * @return TemplateResponse
208
-	 */
209
-	public function redirectPage($stateToken = '',
210
-								 $clientIdentifier = '') {
211
-		if(!$this->isValidToken($stateToken)) {
212
-			return $this->stateTokenForbiddenResponse();
213
-		}
200
+    /**
201
+     * @NoAdminRequired
202
+     * @NoCSRFRequired
203
+     * @UseSession
204
+     *
205
+     * @param string $stateToken
206
+     * @param string $clientIdentifier
207
+     * @return TemplateResponse
208
+     */
209
+    public function redirectPage($stateToken = '',
210
+                                    $clientIdentifier = '') {
211
+        if(!$this->isValidToken($stateToken)) {
212
+            return $this->stateTokenForbiddenResponse();
213
+        }
214 214
 
215
-		return new TemplateResponse(
216
-			$this->appName,
217
-			'loginflow/redirect',
218
-			[
219
-				'urlGenerator' => $this->urlGenerator,
220
-				'stateToken' => $stateToken,
221
-				'clientIdentifier' => $clientIdentifier,
222
-				'oauthState' => $this->session->get('oauth.state'),
223
-			],
224
-			'empty'
225
-		);
226
-	}
215
+        return new TemplateResponse(
216
+            $this->appName,
217
+            'loginflow/redirect',
218
+            [
219
+                'urlGenerator' => $this->urlGenerator,
220
+                'stateToken' => $stateToken,
221
+                'clientIdentifier' => $clientIdentifier,
222
+                'oauthState' => $this->session->get('oauth.state'),
223
+            ],
224
+            'empty'
225
+        );
226
+    }
227 227
 
228
-	/**
229
-	 * @NoAdminRequired
230
-	 * @UseSession
231
-	 *
232
-	 * @param string $stateToken
233
-	 * @param string $clientIdentifier
234
-	 * @return Http\RedirectResponse|Response
235
-	 */
236
-	public function generateAppPassword($stateToken,
237
-										$clientIdentifier = '') {
238
-		if(!$this->isValidToken($stateToken)) {
239
-			$this->session->remove(self::stateName);
240
-			return $this->stateTokenForbiddenResponse();
241
-		}
228
+    /**
229
+     * @NoAdminRequired
230
+     * @UseSession
231
+     *
232
+     * @param string $stateToken
233
+     * @param string $clientIdentifier
234
+     * @return Http\RedirectResponse|Response
235
+     */
236
+    public function generateAppPassword($stateToken,
237
+                                        $clientIdentifier = '') {
238
+        if(!$this->isValidToken($stateToken)) {
239
+            $this->session->remove(self::stateName);
240
+            return $this->stateTokenForbiddenResponse();
241
+        }
242 242
 
243
-		$this->session->remove(self::stateName);
243
+        $this->session->remove(self::stateName);
244 244
 
245
-		try {
246
-			$sessionId = $this->session->getId();
247
-		} catch (SessionNotAvailableException $ex) {
248
-			$response = new Response();
249
-			$response->setStatus(Http::STATUS_FORBIDDEN);
250
-			return $response;
251
-		}
245
+        try {
246
+            $sessionId = $this->session->getId();
247
+        } catch (SessionNotAvailableException $ex) {
248
+            $response = new Response();
249
+            $response->setStatus(Http::STATUS_FORBIDDEN);
250
+            return $response;
251
+        }
252 252
 
253
-		try {
254
-			$sessionToken = $this->tokenProvider->getToken($sessionId);
255
-			$loginName = $sessionToken->getLoginName();
256
-			try {
257
-				$password = $this->tokenProvider->getPassword($sessionToken, $sessionId);
258
-			} catch (PasswordlessTokenException $ex) {
259
-				$password = null;
260
-			}
261
-		} catch (InvalidTokenException $ex) {
262
-			$response = new Response();
263
-			$response->setStatus(Http::STATUS_FORBIDDEN);
264
-			return $response;
265
-		}
253
+        try {
254
+            $sessionToken = $this->tokenProvider->getToken($sessionId);
255
+            $loginName = $sessionToken->getLoginName();
256
+            try {
257
+                $password = $this->tokenProvider->getPassword($sessionToken, $sessionId);
258
+            } catch (PasswordlessTokenException $ex) {
259
+                $password = null;
260
+            }
261
+        } catch (InvalidTokenException $ex) {
262
+            $response = new Response();
263
+            $response->setStatus(Http::STATUS_FORBIDDEN);
264
+            return $response;
265
+        }
266 266
 
267
-		$clientName = $this->getClientName();
268
-		$oAuthClient = false;
269
-		if($clientIdentifier !== '') {
270
-			$client = $this->clientMapper->getByIdentifier($clientIdentifier);
271
-			$clientName = $client->getName();
272
-			$oAuthClient = true;
273
-		}
267
+        $clientName = $this->getClientName();
268
+        $oAuthClient = false;
269
+        if($clientIdentifier !== '') {
270
+            $client = $this->clientMapper->getByIdentifier($clientIdentifier);
271
+            $clientName = $client->getName();
272
+            $oAuthClient = true;
273
+        }
274 274
 
275
-		$token = $this->random->generate(72, ISecureRandom::CHAR_UPPER.ISecureRandom::CHAR_LOWER.ISecureRandom::CHAR_DIGITS);
276
-		$uid = $this->userSession->getUser()->getUID();
277
-		$generatedToken = $this->tokenProvider->generateToken(
278
-			$token,
279
-			$uid,
280
-			$loginName,
281
-			$password,
282
-			$clientName,
283
-			IToken::PERMANENT_TOKEN,
284
-			IToken::DO_NOT_REMEMBER
285
-		);
275
+        $token = $this->random->generate(72, ISecureRandom::CHAR_UPPER.ISecureRandom::CHAR_LOWER.ISecureRandom::CHAR_DIGITS);
276
+        $uid = $this->userSession->getUser()->getUID();
277
+        $generatedToken = $this->tokenProvider->generateToken(
278
+            $token,
279
+            $uid,
280
+            $loginName,
281
+            $password,
282
+            $clientName,
283
+            IToken::PERMANENT_TOKEN,
284
+            IToken::DO_NOT_REMEMBER
285
+        );
286 286
 
287
-		if($oAuthClient) {
288
-			$client = $this->clientMapper->getByIdentifier($clientIdentifier);
287
+        if($oAuthClient) {
288
+            $client = $this->clientMapper->getByIdentifier($clientIdentifier);
289 289
 
290
-			$code = $this->random->generate(128);
291
-			$accessToken = new AccessToken();
292
-			$accessToken->setClientId($client->getId());
293
-			$accessToken->setEncryptedToken($this->crypto->encrypt($token, $code));
294
-			$accessToken->setHashedCode(hash('sha512', $code));
295
-			$accessToken->setTokenId($generatedToken->getId());
296
-			$this->accessTokenMapper->insert($accessToken);
290
+            $code = $this->random->generate(128);
291
+            $accessToken = new AccessToken();
292
+            $accessToken->setClientId($client->getId());
293
+            $accessToken->setEncryptedToken($this->crypto->encrypt($token, $code));
294
+            $accessToken->setHashedCode(hash('sha512', $code));
295
+            $accessToken->setTokenId($generatedToken->getId());
296
+            $this->accessTokenMapper->insert($accessToken);
297 297
 
298
-			$redirectUri = sprintf(
299
-				'%s?state=%s&code=%s',
300
-				$client->getRedirectUri(),
301
-				urlencode($this->session->get('oauth.state')),
302
-				urlencode($code)
303
-			);
304
-			$this->session->remove('oauth.state');
305
-		} else {
306
-			$redirectUri = 'nc://login/server:' . $this->request->getServerHost() . '&user:' . urlencode($loginName) . '&password:' . urlencode($token);
307
-		}
298
+            $redirectUri = sprintf(
299
+                '%s?state=%s&code=%s',
300
+                $client->getRedirectUri(),
301
+                urlencode($this->session->get('oauth.state')),
302
+                urlencode($code)
303
+            );
304
+            $this->session->remove('oauth.state');
305
+        } else {
306
+            $redirectUri = 'nc://login/server:' . $this->request->getServerHost() . '&user:' . urlencode($loginName) . '&password:' . urlencode($token);
307
+        }
308 308
 
309
-		return new Http\RedirectResponse($redirectUri);
310
-	}
309
+        return new Http\RedirectResponse($redirectUri);
310
+    }
311 311
 }
Please login to merge, or discard this patch.
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -118,7 +118,7 @@  discard block
 block discarded – undo
118 118
 	 */
119 119
 	private function isValidToken($stateToken) {
120 120
 		$currentToken = $this->session->get(self::stateName);
121
-		if(!is_string($stateToken) || !is_string($currentToken)) {
121
+		if (!is_string($stateToken) || !is_string($currentToken)) {
122 122
 			return false;
123 123
 		}
124 124
 		return hash_equals($currentToken, $stateToken);
@@ -152,7 +152,7 @@  discard block
 block discarded – undo
152 152
 	public function showAuthPickerPage($clientIdentifier = '') {
153 153
 		$clientName = $this->getClientName();
154 154
 		$client = null;
155
-		if($clientIdentifier !== '') {
155
+		if ($clientIdentifier !== '') {
156 156
 			$client = $this->clientMapper->getByIdentifier($clientIdentifier);
157 157
 			$clientName = $client->getName();
158 158
 		}
@@ -208,7 +208,7 @@  discard block
 block discarded – undo
208 208
 	 */
209 209
 	public function redirectPage($stateToken = '',
210 210
 								 $clientIdentifier = '') {
211
-		if(!$this->isValidToken($stateToken)) {
211
+		if (!$this->isValidToken($stateToken)) {
212 212
 			return $this->stateTokenForbiddenResponse();
213 213
 		}
214 214
 
@@ -235,7 +235,7 @@  discard block
 block discarded – undo
235 235
 	 */
236 236
 	public function generateAppPassword($stateToken,
237 237
 										$clientIdentifier = '') {
238
-		if(!$this->isValidToken($stateToken)) {
238
+		if (!$this->isValidToken($stateToken)) {
239 239
 			$this->session->remove(self::stateName);
240 240
 			return $this->stateTokenForbiddenResponse();
241 241
 		}
@@ -266,7 +266,7 @@  discard block
 block discarded – undo
266 266
 
267 267
 		$clientName = $this->getClientName();
268 268
 		$oAuthClient = false;
269
-		if($clientIdentifier !== '') {
269
+		if ($clientIdentifier !== '') {
270 270
 			$client = $this->clientMapper->getByIdentifier($clientIdentifier);
271 271
 			$clientName = $client->getName();
272 272
 			$oAuthClient = true;
@@ -284,7 +284,7 @@  discard block
 block discarded – undo
284 284
 			IToken::DO_NOT_REMEMBER
285 285
 		);
286 286
 
287
-		if($oAuthClient) {
287
+		if ($oAuthClient) {
288 288
 			$client = $this->clientMapper->getByIdentifier($clientIdentifier);
289 289
 
290 290
 			$code = $this->random->generate(128);
@@ -303,7 +303,7 @@  discard block
 block discarded – undo
303 303
 			);
304 304
 			$this->session->remove('oauth.state');
305 305
 		} else {
306
-			$redirectUri = 'nc://login/server:' . $this->request->getServerHost() . '&user:' . urlencode($loginName) . '&password:' . urlencode($token);
306
+			$redirectUri = 'nc://login/server:'.$this->request->getServerHost().'&user:'.urlencode($loginName).'&password:'.urlencode($token);
307 307
 		}
308 308
 
309 309
 		return new Http\RedirectResponse($redirectUri);
Please login to merge, or discard this patch.