Spec-Zone.ru › Symfony 4.0

AuthenticatorInterface

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

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

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

Методы

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

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

из AuthenticationEntryPointInterface
bool supports(Request $request)

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

mixed getCredentials(Request $request)

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

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()

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

Подробности

Ответ start(Запрос $request, ИсключениеАвторизации $authException = null)

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

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

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

Параметры

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

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

Ответ

bool supports(Запрос $request)

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

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

Параметры

Запрос $request

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

bool

mixed getCredentials(Запрос $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

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

mixed Любое ненулевое значение

Исключения

UnexpectedValueException Если возвращается null

ИнтерфейсПользователя|null getUser(mixed $credentials, ИнтерфейсПоставщикаПользователей $userProvider)

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

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

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

Параметры

mixed $credentials
ИнтерфейсПоставщикаПользователей $userProvider

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

ИнтерфейсПользователя|null

Исключения

ИсключениеАвторизации

bool checkCredentials(mixed $credentials, ИнтерфейсПользователя $user)

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

Если возвращено любое значение, отличное от true, авторизация завершится неудачей. Также вы можете бросить исключение AuthenticationException, чтобы вызвать неудачу авторизации.

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

Параметры

mixed $credentials
ИнтерфейсПользователя $user

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

bool

Исключения

ИсключениеАвторизации

ИнтерфейсТокенаОхраны createAuthenticatedToken(ИнтерфейсПользователя $user, string $providerKey)

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

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

Параметры

ИнтерфейсПользователя $user
string $providerKey Ключ поставщика (т.е. брандмауэра)

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

ИнтерфейсТокенаОхраны

См. также

AbstractGuardAuthenticator

Ответ|null onAuthenticationFailure(Запрос $request, ИсключениеАвторизации $exception)

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

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

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

Параметры

Запрос $request
ИсключениеАвторизации $exception

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

Ответ|null

Ответ|null onAuthenticationSuccess(Запрос $request, ИнтерфейсТокена $token, string $providerKey)

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

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

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

Параметры

Запрос $request
ИнтерфейсТокена $token
string $providerKey Ключ поставщика (т.е. брандмауэра)

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

Ответ|null

bool supportsRememberMe()

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

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

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

bool

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

Spec-Zone.ru

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