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

Метод addBadge класса Passport

Метод addBadge класса Passport добавляет бейдж к паспорту аутентификации. Бейджи позволяют передавать дополнительную информацию в процессе аутентификации, такую как CSRF-токен, данные для запоминания пользователя или новый пароль. Метод принимает один параметр - объект бейджа, реализующий интерфейс BadgeInterface, и возвращает текущий объект Passport для цепочки вызовов.

Синтаксис

public function addBadge(BadgeInterface $badge): static

Пример

Давайте создадим паспорт и добавим к нему бейдж CSRF-токена:

<?php namespace AppSecurity; use SymfonyComponentHttpFoundationRequest; use SymfonyComponentSecurityHttpAuthenticatorPassportBadgeCsrfTokenBadge; use SymfonyComponentSecurityHttpAuthenticatorPassportPassport; use SymfonyComponentSecurityHttpAuthenticatorPassportUserBadge; class ApiAuthenticator { public function authenticate(Request $request): Passport { $csrfToken = $request->getPayload()->get('_csrf_token'); $passport = new Passport( new UserBadge('user'), new CsrfTokenBadge('authenticate', $csrfToken) ); return $passport; } } ?>

Результат выполнения кода:

Passport { badges: [CsrfTokenBadge] }

Пример

Давайте добавим бейдж запоминания пользователя через метод addBadge:

<?php namespace AppSecurity; use SymfonyComponentHttpFoundationRequest; use SymfonyComponentSecurityHttpAuthenticatorPassportBadgeRememberMeBadge; use SymfonyComponentSecurityHttpAuthenticatorPassportPassport; use SymfonyComponentSecurityHttpAuthenticatorPassportUserBadge; class FormAuthenticator { public function authenticate(Request $request): Passport { $passport = new Passport( new UserBadge('user') ); $passport->addBadge(new RememberMeBadge()); return $passport; } } ?>

Результат выполнения кода:

Passport { badges: [RememberMeBadge] }

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

  • класс Passport,
    который представляет паспорт аутентификации
  • метод getBadge,
    который возвращает бейдж по имени класса
  • метод hasBadge,
    который проверяет наличие бейджа
  • бейдж CsrfTokenBadge,
    который добавляет CSRF-токен в паспорт
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить