Spec-Zone.ru › Symfony 2.8

GuardAuthenticatorInterface

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

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

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

Методы

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)

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

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

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

Параметры

Request $request
AuthenticationException $exception

Значение, возвращаемое методом

Response|null

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

Вызывается при успешной авторизации!

Должен вернуть ответ, отправляемый пользователю, например, 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/2.8/Symfony/Component/Security/Guard/GuardAuthenticatorInterface.html

Spec-Zone.ru

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