РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
609 of 1361 menu

Класс UserBadge

Класс UserBadge представляет собой бейдж паспорта, который хранит идентификатор пользователя (обычно email или логин). Бейдж добавляется в паспорт аутентификации, после чего UserProvider загружает сущность пользователя по этому идентификатору. Первым параметром передаётся идентификатор пользователя, вторым - опциональный callable для загрузки пользователя, третьим - имя провайдера.

Синтаксис

new UserBadge(string $userIdentifier, ?callable $userLoader = null, ?string $providerName = null)

Пример

Давайте создадим бейдж с идентификатором пользователя 'user' и добавим его в паспорт:

<?php namespace App\Security; use Symfony\Component\Security\Http\Authenticator\Passport\Badge\UserBadge; use Symfony\Component\Security\Http\Authenticator\Passport\SelfValidatingPassport; class ApiAuthenticator { public function authenticate(): SelfValidatingPassport { $badge = new UserBadge('user'); return new SelfValidatingPassport($badge); } } ?>

Пример

Давайте передадим вторым параметром callable, который вернёт объект пользователя:

<?php namespace App\Security; use App\Entity\User; use Symfony\Component\Security\Http\Authenticator\Passport\Badge\UserBadge; use Symfony\Component\Security\Http\Authenticator\Passport\SelfValidatingPassport; class ApiAuthenticator { public function authenticate(): SelfValidatingPassport { $badge = new UserBadge('user', function (string $identifier): User { $user = new User(); $user->setEmail($identifier); return $user; }); return new SelfValidatingPassport($badge); } } ?>

Пример

Давайте укажем третьим параметром имя провайдера 'app_user_provider':

<?php namespace App\Security; use Symfony\Component\Security\Http\Authenticator\Passport\Badge\UserBadge; use Symfony\Component\Security\Http\Authenticator\Passport\SelfValidatingPassport; class ApiAuthenticator { public function authenticate(): SelfValidatingPassport { $badge = new UserBadge( 'user', null, 'app_user_provider' ); return new SelfValidatingPassport($badge); } } ?>

Смотрите также

  • класс Passport,
    который хранит бейджи аутентификации
  • класс SelfValidatingPassport,
    который принимает UserBadge без учётных данных
  • класс PasswordCredentials,
    который хранит логин и пароль пользователя
  • класс UserProvider,
    который загружает пользователя по идентификатору
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить