From 59c005875a557a8b59438e56c10c54fe611dacd6 Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 24 Jul 2018 17:46:34 +0200 Subject: [PATCH] Fix for #1568 --- app/Http/Middleware/Sandstorm.php | 11 +++++++++-- app/Repositories/User/UserRepository.php | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/Http/Middleware/Sandstorm.php b/app/Http/Middleware/Sandstorm.php index 479c9ba78d..905e840716 100644 --- a/app/Http/Middleware/Sandstorm.php +++ b/app/Http/Middleware/Sandstorm.php @@ -59,12 +59,19 @@ class Sandstorm /** @var UserRepositoryInterface $repository */ $repository = app(UserRepositoryInterface::class); $userId = (string)$request->header('X-Sandstorm-User-Id'); + // catch anonymous: $userId = '' === $userId ? 'anonymous' : $userId; $email = $userId . '@firefly'; - $user = $repository->findByEmail($email) ?? $this->createUser($email); - Log::debug(sprintf('Sandstorm user email is "%s"', $email)); + // always grab the first user in the Sandstorm DB: + $user = $repository->findByEmail($email) ?? $repository->first(); + // or create somebody if necessary. + $user = $user ?? $this->createUser($email); + + // then log this user in: + Log::info(sprintf('Sandstorm user ID is "%s"', $userId)); + Log::info(sprintf('Access to database under "%s"', $email)); Auth::guard($guard)->login($user); $repository->attachRole($user, 'owner'); app('view')->share('SANDSTORM_ANON', false); diff --git a/app/Repositories/User/UserRepository.php b/app/Repositories/User/UserRepository.php index 174de7b430..f29f8f73eb 100644 --- a/app/Repositories/User/UserRepository.php +++ b/app/Repositories/User/UserRepository.php @@ -205,7 +205,7 @@ class UserRepository implements UserRepositoryInterface */ public function first(): ?User { - return User::first(); + return User::orderBy('id', 'ASC')->first(); } /**