Spec-Zone.ru › Symfony 3.4

GuardAuthenticatorInterface deprecated

интерфейс GuardAuthenticatorInterface реализует AuthenticationEntryPointInterface

deprecated

since версия 3.4, будет удалена в 4.0. Используйте AuthenticatorInterface вместо этого

Интерфейс для всех аутентификаторов «сторож».

Методы этого интерфейса вызываются на протяжении всего процесса аутентификации сторожа, чтобы предоставить вам возможность контролировать большую часть процесса из одного места.

Методы

Response start(Request $request, AuthenticationException $authException = null)

Возвращает ответ, который перенаправляет пользователя на страницу аутентификации.

из AuthenticationEntryPointInterface
mixed|null getCredentials(Request $request)

Получает учетные данные для аутентификации из запроса и возвращает их в любом типе (например, ассоциативный массив). Если вы вернёте null, аутентификация будет пропущена.

UserInterface|null getUser(mixed $credentials, UserProviderInterface $userProvider)

Возвращает объект UserInterface на основе учетных данных.

bool checkCredentials(mixed $credentials, UserInterface $user)

Возвращает true, если учетные данные действительны.

GuardTokenInterface createAuthenticatedToken(UserInterface $user, string $providerKey)

Создаёт аутентифицированный токен для данного пользователя.

Response|null onAuthenticationFailure(Request $request, AuthenticationException $exception)

Вызывается, когда аутентификация выполнена, но завершилась неудачно (например, неправильный логин или пароль).

Response|null onAuthenticationSuccess(Request $request, TokenInterface $token, string $providerKey)

Вызывается, когда аутентификация выполнена и прошла успешно!

bool supportsRememberMe()

Поддерживает ли данный метод куки «запомнить меня»?

Подробности

Response start(Request $request, AuthenticationException $authException = null)

Возвращает ответ, который перенаправляет пользователя на авторизацию.

Этот метод вызывается, когда анонимный запрос пытается получить доступ к ресурсу, требующему авторизации. Задача этого метода — вернуть ответ, помогающий пользователю начать процесс авторизации.

Примеры: A) Для входа через форму вы можете перенаправить на страницу входа return new RedirectResponse('/login'); B) Для системы аутентификации по токену API верните ответ 401 return new Response('Заголовок Auth необходим', 401);

Параметры

Request $request Запрос, который привёл к AuthenticationException
AuthenticationException $authException Исключение, которое инициировало процесс аутентификации

Значение результата

Response

mixed|null getCredentials(Request $request)

Получает данные аутентификации из запроса и возвращает их в любом формате (например, ассоциативный массив). Если возвращаете null, аутентификация будет пропущена.

Любое значение, возвращённое здесь, будет передано в getUser() и checkCredentials()

Например, для входа через форму вы можете:

 if ($request->request->has('_username')) {
     return array(
         'username' => $request->request->get('_username'),
         'password' => $request->request->get('_password'),
     );
 } else {
     return;
 }

Или для токена API, находящегося в заголовке:

 return array('api_key' => $request->headers->get('X-API-TOKEN'));

Параметры

Request $request

Значение результата

mixed|null

UserInterface|null getUser(mixed $credentials, UserProviderInterface $userProvider)

Возвращает объект UserInterface на основе предоставленных данных.

credentials — это результат работы метода getCredentials()

Вы можете бросить исключение AuthenticationException, если это необходимо. Если возвращаете null, для вас будет брошено исключение UsernameNotFoundException.

Параметры

mixed $credentials
UserProviderInterface $userProvider

Значение результата

UserInterface|null

Исключения

AuthenticationException

bool checkCredentials(mixed $credentials, UserInterface $user)

Возвращает true, если данные аутентификации валидны.

Возврат любого значения, отличного от true, приведёт к отказу в аутентификации. Вы также можете бросить исключение AuthenticationException, чтобы вызвать отказ в аутентификации.

credentials — это результат работы метода getCredentials()

Параметры

mixed $credentials
UserInterface $user

Значение результата

bool

Исключения

AuthenticationException

GuardTokenInterface createAuthenticatedToken(UserInterface $user, string $providerKey)

Создаёт аутентифицированный токен для заданного пользователя.

Если вам неважно, какой класс токена используется, или вы не очень понимаете, что такое «токен», вы можете пропустить этот метод, расширив класс AbstractGuardAuthenticator в своём аутентификаторе.

Параметры

UserInterface $user
string $providerKey Ключ провайдера (например, брандмауэра)

Значение результата

GuardTokenInterface

См. также

AbstractGuardAuthenticator

Response|null onAuthenticationFailure(Request $request, AuthenticationException $exception)

Вызывается, когда аутентификация выполнена, но завершилась неудачно (например, неверный логин/пароль).

Этот метод должен вернуть Response, который будет отправлен пользователю, например, RedirectResponse на страницу входа или ответ 403.

Если возвращаете null, запрос продолжится, но пользователь не будет аутентифицирован. Вероятно, этого делать не нужно.

Параметры

Request $request
AuthenticationException $exception

Значение результата

Response|null

Response|null onAuthenticationSuccess(Request $request, TokenInterface $token, string $providerKey)

Вызывается, когда аутентификация выполнена успешно!

Этот метод должен вернуть Response, который будет отправлен пользователю, например, RedirectResponse на последнюю посещённую страницу.

Если возвращаете null, текущий запрос продолжится, и пользователь будет аутентифицирован. Это имеет смысл, например, для API.

Параметры

Request $request
TokenInterface $token
string $providerKey Ключ провайдера (например, брандмауэра)

Значение результата

Response|null

bool supportsRememberMe()

Поддерживает ли этот метод куки «запомнить меня»?

Куки «запомнить меня» будут установлены, если выполняются все следующие условия: A) Этот метод возвращает true B) Ключ remember_me в вашем брандмауэре настроен C) Функциональность «запомнить меня» активирована. Обычно это делается с помощью чекбокса «запомнить меня» в форме, но может быть настроено параметрами always_remember_me и remember_me_parameter в ключе брандмауэра «remember_me» D) Метод onAuthenticationSuccess возвращает объект Response.

Значение результата

bool

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.4/Symfony/Component/Security/Guard/GuardAuthenticatorInterface.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API