Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

34 wiersze
961B

  1. <?php
  2. declare(strict_types=1);
  3. namespace Core\Auth;
  4. class AuthUser
  5. {
  6. public function __construct(
  7. public readonly string $keycloakId,
  8. public readonly string $username,
  9. public readonly string $email,
  10. public readonly string $displayName,
  11. /** @var list<string> */
  12. public readonly array $roles,
  13. /** @var list<string> */
  14. public readonly array $permissions,
  15. ) {}
  16. public static function fromSession(array $authData): self
  17. {
  18. $u = $authData['user'] ?? [];
  19. return new self(
  20. keycloakId: (string) ($u['keycloak_id'] ?? ''),
  21. username: (string) ($u['username'] ?? ''),
  22. email: (string) ($u['email'] ?? ''),
  23. displayName: (string) ($u['display_name'] ?? ''),
  24. roles: (array) ($u['roles'] ?? []),
  25. permissions: (array) ($u['permissions'] ?? []),
  26. );
  27. }
  28. }

Powered by TurnKey Linux.