Browse Source

Comments

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
tags/v14.0.0beta1
Roeland Jago Douma 6 years ago
parent
commit
82959ca93e
No account linked to committer's email address

+ 1
- 2
lib/private/Authentication/Token/DefaultTokenProvider.php View File

@@ -35,7 +35,6 @@ use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\IConfig;
use OCP\ILogger;
use OCP\IUser;
use OCP\Security\ICrypto;

class DefaultTokenProvider implements IProvider {
@@ -299,7 +298,7 @@ class DefaultTokenProvider implements IProvider {
* @param string $token
* @return string
*/
private function hashToken(string $token) {
private function hashToken(string $token): string {
$secret = $this->config->getSystemValue('secret');
return hash('sha512', $token . $secret);
}

+ 16
- 1
lib/private/Authentication/Token/Manager.php View File

@@ -25,7 +25,6 @@ namespace OC\Authentication\Token;

use OC\Authentication\Exceptions\InvalidTokenException;
use OC\Authentication\Exceptions\PasswordlessTokenException;
use OCP\IUser;

class Manager implements IProvider {

@@ -92,6 +91,10 @@ class Manager implements IProvider {
$provider->updateTokenActivity($token);
}

/**
* @param string $uid
* @return IToken[]
*/
public function getTokenByUser(string $uid): array {
$old = $this->defaultTokenProvider->getTokenByUser($uid);
$new = $this->publicKeyTokenProvider->getTokenByUser($uid);
@@ -185,6 +188,13 @@ class Manager implements IProvider {
$this->publicKeyTokenProvider->invalidateOldTokens();
}

/**
* @param IToken $token
* @param string $oldTokenId
* @param string $newTokenId
* @return IToken
* @throws InvalidTokenException
*/
public function rotate(IToken $token, string $oldTokenId, string $newTokenId): IToken {
if ($token instanceof DefaultToken) {
try {
@@ -203,6 +213,11 @@ class Manager implements IProvider {
throw new InvalidTokenException();
}

/**
* @param IToken $token
* @return IProvider
* @throws InvalidTokenException
*/
private function getProvider(IToken $token): IProvider {
if ($token instanceof DefaultToken) {
return $this->defaultTokenProvider;

+ 2
- 1
lib/private/Authentication/Token/PublicKeyToken.php View File

@@ -1,4 +1,5 @@
<?php
/** @noinspection ALL */
declare(strict_types=1);
/**
* @copyright Copyright (c) 2018 Roeland Jago Douma <roeland@famdouma.nl>
@@ -180,7 +181,7 @@ class PublicKeyToken extends Entity implements IToken {
}

public function setScope($scope) {
if (\is_array($scope)) {
if (is_array($scope)) {
parent::setScope(json_encode($scope));
} else {
parent::setScope((string)$scope);

+ 1
- 1
lib/private/Authentication/Token/PublicKeyTokenMapper.php View File

@@ -115,7 +115,7 @@ class PublicKeyTokenMapper extends QBMapper {
* where a high number of (session) tokens is generated
*
* @param string $uid
* @return DefaultToken[]
* @return PublicKeyToken[]
*/
public function getTokenByUser(string $uid): array {
/* @var $qb IQueryBuilder */

+ 0
- 1
lib/private/Authentication/Token/PublicKeyTokenProvider.php View File

@@ -29,7 +29,6 @@ use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\IConfig;
use OCP\ILogger;
use OCP\IUser;
use OCP\Security\ICrypto;

class PublicKeyTokenProvider implements IProvider {

Loading…
Cancel
Save