|
- <?php
-
- declare(strict_types=1);
-
- namespace Core\Auth;
-
- class AuthUser
- {
- public function __construct(
- public readonly string $keycloakId,
- public readonly string $username,
- public readonly string $email,
- public readonly string $displayName,
- /** @var list<string> */
- public readonly array $roles,
- /** @var list<string> */
- public readonly array $permissions,
- ) {}
-
- public static function fromSession(array $authData): self
- {
- $u = $authData['user'] ?? [];
-
- return new self(
- keycloakId: (string) ($u['keycloak_id'] ?? ''),
- username: (string) ($u['username'] ?? ''),
- email: (string) ($u['email'] ?? ''),
- displayName: (string) ($u['display_name'] ?? ''),
- roles: (array) ($u['roles'] ?? []),
- permissions: (array) ($u['permissions'] ?? []),
- );
- }
- }
|