Add a user attribute to identify authentication by proxy

This commit is contained in:
Bubka 2024-09-20 10:37:33 +02:00
parent d629ed83c5
commit 189f02ae9e
4 changed files with 12 additions and 6 deletions

View File

@ -3,6 +3,7 @@
namespace App\Api\v1\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
use Illuminate\Support\Facades\Auth;
/**
* @property mixed $id
@ -23,12 +24,13 @@ class UserResource extends JsonResource
public function toArray($request)
{
return [
'id' => $this->id,
'name' => $this->name,
'email' => $this->email,
'oauth_provider' => $this->oauth_provider,
'preferences' => $this->preferences,
'is_admin' => $this->is_admin,
'id' => $this->id,
'name' => $this->name,
'email' => $this->email,
'oauth_provider' => $this->oauth_provider,
'authenticated_by_proxy' => Auth::getDefaultDriver() === 'reverse-proxy-guard',
'preferences' => $this->preferences,
'is_admin' => $this->is_admin,
];
}
}

View File

@ -13,6 +13,7 @@ export default async function authGuard({ to, next, nextMiddleware, stores }) {
name: currentUser.name,
email: currentUser.email,
oauth_provider: currentUser.oauth_provider,
authenticated_by_proxy: currentUser.authenticated_by_proxy,
preferences: currentUser.preferences,
isAdmin: currentUser.is_admin,
})

View File

@ -16,6 +16,7 @@ export const useUserStore = defineStore({
name: undefined,
email: undefined,
oauth_provider: undefined,
authenticated_by_proxy: undefined,
preferences: window.defaultPreferences,
isAdmin: false,
}

View File

@ -37,6 +37,7 @@
name: response.data.name,
email: response.data.email,
oauth_provider: response.data.oauth_provider,
authenticated_by_proxy: false,
preferences: response.data.preferences,
isAdmin: response.data.is_admin,
})
@ -67,6 +68,7 @@
name: response.data.name,
email: response.data.email,
oauth_provider: response.data.oauth_provider,
authenticated_by_proxy: false,
preferences: response.data.preferences,
isAdmin: response.data.is_admin,
})