user might be already known, but was not mapped yet. init on first login.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
This commit is contained in:
Arthur Schiwon 2019-01-22 13:38:56 +01:00
parent 0b0bfe94a2
commit ec593bce13
No known key found for this signature in database
GPG key ID: 7424F1874854DF23

View file

@ -144,7 +144,6 @@ class SAMLController extends Controller {
// help with it and make the user known // help with it and make the user known
$this->userManager->search($uid); $this->userManager->search($uid);
if($this->userManager->userExists($uid)) { if($this->userManager->userExists($uid)) {
$this->userBackend->initializeHomeDir($uid);
return; return;
} }
throw new NoUserFoundException('Auto provisioning not allowed and user ' . $uid . ' does not exist'); throw new NoUserFoundException('Auto provisioning not allowed and user ' . $uid . ' does not exist');
@ -285,7 +284,10 @@ class SAMLController extends Controller {
if (!($user instanceof IUser)) { if (!($user instanceof IUser)) {
throw new \InvalidArgumentException('User is not valid'); throw new \InvalidArgumentException('User is not valid');
} }
$user->updateLastLoginTimestamp(); $firstLogin = $user->updateLastLoginTimestamp();
if($firstLogin) {
$this->userBackend->initializeHomeDir($user->getUID());
}
} catch (\Exception $e) { } catch (\Exception $e) {
$this->logger->logException($e, ['app' => $this->appName]); $this->logger->logException($e, ['app' => $this->appName]);
return new Http\RedirectResponse($this->urlGenerator->linkToRouteAbsolute('user_saml.SAML.notProvisioned')); return new Http\RedirectResponse($this->urlGenerator->linkToRouteAbsolute('user_saml.SAML.notProvisioned'));