Spec-Zone.ru › Symfony 3.0

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 на основе учетных данных.

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 Response('/login'); B) Для системы аутентификации с помощью API-токена вы возвращаете ответ с кодом 401 return new Response('Заголовок Auth необходим', 401);

Параметры

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

Значение возврата

Response

mixed|null getCredentials(Request $request)

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

Любое значение, возвращаемое здесь, будет передано в 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

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

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

credentials — это значение, возвращаемое методом getCredentials()

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

Параметры

mixed $credentials
UserProviderInterface $userProvider

Значение возврата

UserInterface|null

Исключения

AuthenticationException

checkCredentials(mixed $credentials, UserInterface $user)

Возвращает true, если предоставленные данные валидны.

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

credentials — это значение, возвращаемое методом getCredentials()

Параметры

mixed $credentials
UserInterface $user

Исключения

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.

Значение возврата

bool

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

Spec-Zone.ru

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