Spec-Zone.ru › Symfony 3.4

AuthenticatorInterface

interface AuthenticatorInterface implements GuardAuthenticatorInterface

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

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

Методы

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

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

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

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

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

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

из GuardAuthenticatorInterface
bool checkCredentials(mixed $credentials, UserInterface $user)

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

из GuardAuthenticatorInterface
GuardTokenInterface createAuthenticatedToken(UserInterface $user, string $providerKey)

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

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

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

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

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

из GuardAuthenticatorInterface
bool supportsRememberMe()

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

из GuardAuthenticatorInterface
bool supports(Request $request)

Поддерживает ли аутентификатор данный запрос?

Подробности

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)

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

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

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

 return array(
     'username' => $request->request->get('_username'),
     'password' => $request->request->get('_password'),
 );

Или для API-токена в заголовке вы можете использовать:

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

Параметры

Request $request

Возвращаемое значение

mixed|null

Исключения

UnexpectedValueException Если возвращается 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()

Поддерживает ли этот метод куки remember me?

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

Возвращаемое значение

bool

bool supports(Request $request)

Поддерживает ли аутентификатор данный запрос?

Если возвращается false, аутентификатор будет пропущен.

Параметры

Request $request

Возвращаемое значение

bool

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

Spec-Zone.ru

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