### Authentication This section will introduce you to the authentication service and how to user it. #### User Authenticator This class will go over the `\Anomaly\UsersModule\User\UserAuthenticator` class and how to use it. ##### UserAuthenticator::attempt() The `attempt` method attempts to authorize a user. The `login` method is ran if the authentication succeeds. ###### Returns: `\Anomaly\UsersModule\User\Contract\UserInterface` or `false` ###### Arguments
Key Required Type Default Description
$credentials true array none The credentials array of email/username and password.
$remember false boolean false The "remember me" flag.
###### Example $authenticator->attempt(['email' => 'example@domain.com', 'password' => 'secret']); ##### UserAuthenticator::authenticate() The `authenticate` method authenticates credentials without logging the user in. ###### Returns: `\Anomaly\UsersModule\User\Contract\UserInterface` or `false` ###### Arguments
Key Required Type Default Description
$credentials true array none The credentials array of email/username and password.
###### Example $authenticator->authenticate(['email' => 'example@domain.com', 'password' => 'secret password']); ##### UserAuthenticator::login() The `login` method logs in the user. ###### Returns: `void` ###### Arguments
Key Required Type Default Description
$user true object none The user instance.
###### Example $authenticator->login($user); ##### UserAuthenticator::logout() The `logout` method logs out the user. ###### Returns: `void` ###### Arguments
Key Required Type Default Description
$user true object none The user to logout.
###### Example $authenticator->logout($user); ##### UserAuthenticator::kickOut() The `kickOut` method kicks a user. The `kickOut` method is similar to `logout` but a different event is fired for you to hook into as needed. ###### Returns: `void` ###### Arguments
Key Required Type Default Description
$user true object none The user to kick out.
###### Example $authenticator->kickOut($user);