mirror of
https://github.com/BookStackApp/BookStack.git
synced 2024-09-29 20:55:45 +00:00
Cleaned up old token services
This commit is contained in:
parent
8e64324d62
commit
4835a0dcb1
@ -8,8 +8,8 @@ use BookStack\Notifications\ConfirmEmail;
|
|||||||
|
|
||||||
class EmailConfirmationService extends UserTokenService
|
class EmailConfirmationService extends UserTokenService
|
||||||
{
|
{
|
||||||
protected $tokenTable = 'email_confirmations';
|
protected string $tokenTable = 'email_confirmations';
|
||||||
protected $expiryTime = 24;
|
protected int $expiryTime = 24;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create new confirmation for a user,
|
* Create new confirmation for a user,
|
||||||
|
@ -7,14 +7,12 @@ use BookStack\Notifications\UserInvite;
|
|||||||
|
|
||||||
class UserInviteService extends UserTokenService
|
class UserInviteService extends UserTokenService
|
||||||
{
|
{
|
||||||
protected $tokenTable = 'user_invites';
|
protected string $tokenTable = 'user_invites';
|
||||||
protected $expiryTime = 336; // Two weeks
|
protected int $expiryTime = 336; // Two weeks
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Send an invitation to a user to sign into BookStack
|
* Send an invitation to a user to sign into BookStack
|
||||||
* Removes existing invitation tokens.
|
* Removes existing invitation tokens.
|
||||||
*
|
|
||||||
* @param User $user
|
|
||||||
*/
|
*/
|
||||||
public function sendInvitation(User $user)
|
public function sendInvitation(User $user)
|
||||||
{
|
{
|
||||||
|
@ -14,41 +14,29 @@ class UserTokenService
|
|||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Name of table where user tokens are stored.
|
* Name of table where user tokens are stored.
|
||||||
*
|
|
||||||
* @var string
|
|
||||||
*/
|
*/
|
||||||
protected $tokenTable = 'user_tokens';
|
protected string $tokenTable = 'user_tokens';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Token expiry time in hours.
|
* Token expiry time in hours.
|
||||||
*
|
|
||||||
* @var int
|
|
||||||
*/
|
*/
|
||||||
protected $expiryTime = 24;
|
protected int $expiryTime = 24;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete all email confirmations that belong to a user.
|
* Delete all tokens that belong to a user.
|
||||||
*
|
|
||||||
* @param User $user
|
|
||||||
*
|
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function deleteByUser(User $user)
|
public function deleteByUser(User $user): void
|
||||||
{
|
{
|
||||||
return DB::table($this->tokenTable)
|
DB::table($this->tokenTable)
|
||||||
->where('user_id', '=', $user->id)
|
->where('user_id', '=', $user->id)
|
||||||
->delete();
|
->delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the user id from a token, while check the token exists and has not expired.
|
* Get the user id from a token, while checking the token exists and has not expired.
|
||||||
*
|
|
||||||
* @param string $token
|
|
||||||
*
|
*
|
||||||
* @throws UserTokenNotFoundException
|
* @throws UserTokenNotFoundException
|
||||||
* @throws UserTokenExpiredException
|
* @throws UserTokenExpiredException
|
||||||
*
|
|
||||||
* @return int
|
|
||||||
*/
|
*/
|
||||||
public function checkTokenAndGetUserId(string $token): int
|
public function checkTokenAndGetUserId(string $token): int
|
||||||
{
|
{
|
||||||
@ -67,8 +55,6 @@ class UserTokenService
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a unique token within the email confirmation database.
|
* Creates a unique token within the email confirmation database.
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
*/
|
||||||
protected function generateToken(): string
|
protected function generateToken(): string
|
||||||
{
|
{
|
||||||
@ -82,10 +68,6 @@ class UserTokenService
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Generate and store a token for the given user.
|
* Generate and store a token for the given user.
|
||||||
*
|
|
||||||
* @param User $user
|
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
*/
|
||||||
protected function createTokenForUser(User $user): string
|
protected function createTokenForUser(User $user): string
|
||||||
{
|
{
|
||||||
@ -102,10 +84,6 @@ class UserTokenService
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if the given token exists.
|
* Check if the given token exists.
|
||||||
*
|
|
||||||
* @param string $token
|
|
||||||
*
|
|
||||||
* @return bool
|
|
||||||
*/
|
*/
|
||||||
protected function tokenExists(string $token): bool
|
protected function tokenExists(string $token): bool
|
||||||
{
|
{
|
||||||
@ -115,12 +93,8 @@ class UserTokenService
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a token entry for the given token.
|
* Get a token entry for the given token.
|
||||||
*
|
|
||||||
* @param string $token
|
|
||||||
*
|
|
||||||
* @return object|null
|
|
||||||
*/
|
*/
|
||||||
protected function getEntryByToken(string $token)
|
protected function getEntryByToken(string $token): ?stdClass
|
||||||
{
|
{
|
||||||
return DB::table($this->tokenTable)
|
return DB::table($this->tokenTable)
|
||||||
->where('token', '=', $token)
|
->where('token', '=', $token)
|
||||||
@ -129,10 +103,6 @@ class UserTokenService
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if the given token entry has expired.
|
* Check if the given token entry has expired.
|
||||||
*
|
|
||||||
* @param stdClass $tokenEntry
|
|
||||||
*
|
|
||||||
* @return bool
|
|
||||||
*/
|
*/
|
||||||
protected function entryExpired(stdClass $tokenEntry): bool
|
protected function entryExpired(stdClass $tokenEntry): bool
|
||||||
{
|
{
|
||||||
|
@ -14,21 +14,11 @@ use Illuminate\Http\Request;
|
|||||||
|
|
||||||
class ConfirmEmailController extends Controller
|
class ConfirmEmailController extends Controller
|
||||||
{
|
{
|
||||||
protected EmailConfirmationService $emailConfirmationService;
|
|
||||||
protected LoginService $loginService;
|
|
||||||
protected UserRepo $userRepo;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a new controller instance.
|
|
||||||
*/
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
EmailConfirmationService $emailConfirmationService,
|
protected EmailConfirmationService $emailConfirmationService,
|
||||||
LoginService $loginService,
|
protected LoginService $loginService,
|
||||||
UserRepo $userRepo
|
protected UserRepo $userRepo
|
||||||
) {
|
) {
|
||||||
$this->emailConfirmationService = $emailConfirmationService;
|
|
||||||
$this->loginService = $loginService;
|
|
||||||
$this->userRepo = $userRepo;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user