/
ntcte
/
jwt-keycloak
Обзор
Документация
Войти
/
ntcte
/
jwt-keycloak
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
main
src/KeycloakUser.php
66 строк
1 KB
George Repiev
feat(auth): add KeycloakUser authenticatable wrapper
19 июл 2026, 12:58
19 июл 2026, 12:58
e5ff8aa
Код
Авторство
О чём код?
<?php namespace Ntcte\KeycloakAuth; use Illuminate\Contracts\Auth\Authenticatable; class KeycloakUser implements Authenticatable { public function __construct(protected object $claims) {} public function getAuthIdentifierName() { return 'sub'; } public function getAuthIdentifier() { return $this->claims->sub; } public function getAuthPassword() { return null; } public function getRememberToken() { return null; } public function setRememberToken($value) {} public function getRememberTokenName() { return null; } public function getAuthPasswordName() { return null; } public function username(): string { return $this->claims->preferred_username; } public function email(): ?string { return $this->claims->email ?? null; } // client roles: resource_access.{client_id}.roles public function roles(): array { $clientId = config('keycloak.audience'); return $this->claims->resource_access?->{$clientId}?->roles ?? []; } // группы FreeIPA, проброшенные через group mapper Keycloak public function groups(): array { return $this->claims->groups ?? []; } }