From bee838afbe7f01320c00bc69d88740f1d6fde91b Mon Sep 17 00:00:00 2001 From: kenjis Date: Sat, 20 May 2023 08:54:48 +0900 Subject: [PATCH] refactor: use ::class keyword in config() --- src/Auth.php | 7 ++++--- src/Authentication/Actions/Email2FA.php | 3 ++- src/Authentication/Actions/EmailActivator.php | 3 ++- src/Authentication/Authenticators/AccessTokens.php | 9 +++++---- src/Authentication/Authenticators/Session.php | 8 ++++---- src/Authentication/Passwords.php | 2 +- src/Authentication/Passwords/ValidationRules.php | 3 ++- src/Authorization/Traits/Authorizable.php | 7 ++++--- src/Config/Services.php | 5 +++-- src/Controllers/LoginController.php | 12 +++++++----- src/Controllers/MagicLinkController.php | 8 +++++--- src/Controllers/RegisterController.php | 14 +++++++------- .../2020-12-28-223112_create_auth_tables.php | 3 +-- src/Filters/ChainAuth.php | 3 ++- src/Filters/ForcePasswordResetFilter.php | 3 ++- src/Filters/SessionAuth.php | 3 ++- src/Views/email_2fa_show.php | 7 ++++++- src/Views/email_2fa_verify.php | 7 ++++++- src/Views/email_activate_show.php | 7 ++++++- src/Views/login.php | 7 ++++++- src/Views/magic_link_form.php | 7 ++++++- src/Views/magic_link_message.php | 7 ++++++- src/Views/register.php | 7 ++++++- 23 files changed, 95 insertions(+), 47 deletions(-) diff --git a/src/Auth.php b/src/Auth.php index 41163479a..887dad949 100644 --- a/src/Auth.php +++ b/src/Auth.php @@ -8,6 +8,8 @@ use CodeIgniter\Shield\Authentication\Authentication; use CodeIgniter\Shield\Authentication\AuthenticationException; use CodeIgniter\Shield\Authentication\AuthenticatorInterface; +use CodeIgniter\Shield\Config\Auth as AuthConfig; +use CodeIgniter\Shield\Config\AuthRoutes; use CodeIgniter\Shield\Entities\User; use CodeIgniter\Shield\Models\UserModel; @@ -106,7 +108,7 @@ public function authenticate(array $credentials): Result */ public function routes(RouteCollection &$routes, array $config = []): void { - $authRoutes = config('AuthRoutes')->routes; + $authRoutes = config(AuthRoutes::class)->routes; $routes->group('/', ['namespace' => 'CodeIgniter\Shield\Controllers'], static function (RouteCollection $routes) use ($authRoutes, $config): void { foreach ($authRoutes as $name => $row) { @@ -133,8 +135,7 @@ public function getProvider(): UserModel return $this->userProvider; } - /** @var \CodeIgniter\Shield\Config\Auth $config */ - $config = config('Auth'); + $config = config(AuthConfig::class); if (! property_exists($config, 'userProvider')) { throw AuthenticationException::forUnknownUserProvider(); diff --git a/src/Authentication/Actions/Email2FA.php b/src/Authentication/Actions/Email2FA.php index 52827c99a..1a3e4c75e 100644 --- a/src/Authentication/Actions/Email2FA.php +++ b/src/Authentication/Actions/Email2FA.php @@ -8,6 +8,7 @@ use CodeIgniter\HTTP\RedirectResponse; use CodeIgniter\I18n\Time; use CodeIgniter\Shield\Authentication\Authenticators\Session; +use CodeIgniter\Shield\Config\Auth; use CodeIgniter\Shield\Entities\User; use CodeIgniter\Shield\Entities\UserIdentity; use CodeIgniter\Shield\Exceptions\RuntimeException; @@ -120,7 +121,7 @@ public function verify(IncomingRequest $request) } // Get our login redirect url - return redirect()->to(config('Auth')->loginRedirect()); + return redirect()->to(config(Auth::class)->loginRedirect()); } /** diff --git a/src/Authentication/Actions/EmailActivator.php b/src/Authentication/Actions/EmailActivator.php index 8e5216074..eeba13c03 100644 --- a/src/Authentication/Actions/EmailActivator.php +++ b/src/Authentication/Actions/EmailActivator.php @@ -10,6 +10,7 @@ use CodeIgniter\HTTP\Response; use CodeIgniter\I18n\Time; use CodeIgniter\Shield\Authentication\Authenticators\Session; +use CodeIgniter\Shield\Config\Auth; use CodeIgniter\Shield\Entities\User; use CodeIgniter\Shield\Entities\UserIdentity; use CodeIgniter\Shield\Exceptions\LogicException; @@ -114,7 +115,7 @@ public function verify(IncomingRequest $request) $user->activate(); // Success! - return redirect()->to(config('Auth')->registerRedirect()) + return redirect()->to(config(Auth::class)->registerRedirect()) ->with('message', lang('Auth.registerSuccess')); } diff --git a/src/Authentication/Authenticators/AccessTokens.php b/src/Authentication/Authenticators/AccessTokens.php index a09000703..27beef2e8 100644 --- a/src/Authentication/Authenticators/AccessTokens.php +++ b/src/Authentication/Authenticators/AccessTokens.php @@ -8,6 +8,7 @@ use CodeIgniter\I18n\Time; use CodeIgniter\Shield\Authentication\AuthenticationException; use CodeIgniter\Shield\Authentication\AuthenticatorInterface; +use CodeIgniter\Shield\Config\Auth; use CodeIgniter\Shield\Entities\User; use CodeIgniter\Shield\Exceptions\InvalidArgumentException; use CodeIgniter\Shield\Models\TokenLoginModel; @@ -104,7 +105,7 @@ public function check(array $credentials): Result if (! array_key_exists('token', $credentials) || empty($credentials['token'])) { return new Result([ 'success' => false, - 'reason' => lang('Auth.noToken', [config('Auth')->authenticatorHeader['tokens']]), + 'reason' => lang('Auth.noToken', [config(Auth::class)->authenticatorHeader['tokens']]), ]); } @@ -129,7 +130,7 @@ public function check(array $credentials): Result // Hasn't been used in a long time if ( $token->last_used_at - && $token->last_used_at->isBefore(Time::now()->subSeconds(config('Auth')->unusedTokenLifetime)) + && $token->last_used_at->isBefore(Time::now()->subSeconds(config(Auth::class)->unusedTokenLifetime)) ) { return new Result([ 'success' => false, @@ -168,7 +169,7 @@ public function loggedIn(): bool $request = service('request'); return $this->attempt([ - 'token' => $request->getHeaderLine(config('Auth')->authenticatorHeader['tokens']), + 'token' => $request->getHeaderLine(config(Auth::class)->authenticatorHeader['tokens']), ])->isOK(); } @@ -226,7 +227,7 @@ public function getBearerToken(): ?string /** @var IncomingRequest $request */ $request = service('request'); - $header = $request->getHeaderLine(config('Auth')->authenticatorHeader['tokens']); + $header = $request->getHeaderLine(config(Auth::class)->authenticatorHeader['tokens']); if (empty($header)) { return null; diff --git a/src/Authentication/Authenticators/Session.php b/src/Authentication/Authenticators/Session.php index c5e9ba138..c3c65a8fa 100644 --- a/src/Authentication/Authenticators/Session.php +++ b/src/Authentication/Authenticators/Session.php @@ -13,6 +13,7 @@ use CodeIgniter\Shield\Authentication\AuthenticationException; use CodeIgniter\Shield\Authentication\AuthenticatorInterface; use CodeIgniter\Shield\Authentication\Passwords; +use CodeIgniter\Shield\Config\Auth; use CodeIgniter\Shield\Entities\User; use CodeIgniter\Shield\Entities\UserIdentity; use CodeIgniter\Shield\Exceptions\InvalidArgumentException; @@ -89,8 +90,7 @@ public function __construct(UserModel $provider) */ private function checkSecurityConfig(): void { - /** @var Security $securityConfig */ - $securityConfig = config('Security'); + $securityConfig = config(Security::class); if ($securityConfig->csrfProtection === 'cookie') { throw new SecurityException( @@ -275,8 +275,8 @@ private function recordLoginAttempt( ): void { // Determine the type of ID we're using. // Standard fields would be email, username, - // but any column within config('Auth')->validFields can be used. - $field = array_intersect(config('Auth')->validFields ?? [], array_keys($credentials)); + // but any column within config(Auth::class)->validFields can be used. + $field = array_intersect(config(Auth::class)->validFields ?? [], array_keys($credentials)); if (count($field) !== 1) { throw new InvalidArgumentException('Invalid credentials passed to recordLoginAttempt.'); diff --git a/src/Authentication/Passwords.php b/src/Authentication/Passwords.php index 3a5b7b041..b466fca6c 100644 --- a/src/Authentication/Passwords.php +++ b/src/Authentication/Passwords.php @@ -145,7 +145,7 @@ public function check(string $password, ?User $user = null): Result */ public static function getMaxLengthRule(): string { - if (config('Auth')->hashAlgorithm === PASSWORD_BCRYPT) { + if (config(Auth::class)->hashAlgorithm === PASSWORD_BCRYPT) { return 'max_byte[72]'; } diff --git a/src/Authentication/Passwords/ValidationRules.php b/src/Authentication/Passwords/ValidationRules.php index 53f078b8e..36fc0477d 100644 --- a/src/Authentication/Passwords/ValidationRules.php +++ b/src/Authentication/Passwords/ValidationRules.php @@ -6,6 +6,7 @@ use CodeIgniter\HTTP\IncomingRequest; use CodeIgniter\Shield\Authentication\Passwords; +use CodeIgniter\Shield\Config\Auth; use CodeIgniter\Shield\Entities\User; /** @@ -97,7 +98,7 @@ protected function buildUserFromData(array $data = []): User */ protected function prepareValidFields(): array { - $config = config('Auth'); + $config = config(Auth::class); $fields = array_merge($config->validFields, $config->personalFields); $fields[] = 'password'; diff --git a/src/Authorization/Traits/Authorizable.php b/src/Authorization/Traits/Authorizable.php index 9e3f32ff1..967eed725 100644 --- a/src/Authorization/Traits/Authorizable.php +++ b/src/Authorization/Traits/Authorizable.php @@ -6,6 +6,7 @@ use CodeIgniter\I18n\Time; use CodeIgniter\Shield\Authorization\AuthorizationException; +use CodeIgniter\Shield\Config\AuthGroups; use CodeIgniter\Shield\Exceptions\LogicException; use CodeIgniter\Shield\Models\GroupModel; use CodeIgniter\Shield\Models\PermissionModel; @@ -257,7 +258,7 @@ public function can(string $permission): bool $matrix = function_exists('setting') ? setting('AuthGroups.matrix') - : config('AuthGroups')->matrix; + : config(AuthGroups::class)->matrix; foreach ($this->groupCache as $group) { // Check exact match @@ -393,7 +394,7 @@ private function getConfigGroups(): array { return function_exists('setting') ? array_keys(setting('AuthGroups.groups')) - : array_keys(config('AuthGroups')->groups); + : array_keys(config(AuthGroups::class)->groups); } /** @@ -403,6 +404,6 @@ private function getConfigPermissions(): array { return function_exists('setting') ? array_keys(setting('AuthGroups.permissions')) - : array_keys(config('AuthGroups')->permissions); + : array_keys(config(AuthGroups::class)->permissions); } } diff --git a/src/Config/Services.php b/src/Config/Services.php index 1e002b6a0..201b2e199 100644 --- a/src/Config/Services.php +++ b/src/Config/Services.php @@ -8,6 +8,7 @@ use CodeIgniter\Shield\Authentication\Authentication; use CodeIgniter\Shield\Authentication\JWTManager; use CodeIgniter\Shield\Authentication\Passwords; +use CodeIgniter\Shield\Config\Auth as AuthConfig; use Config\Services as BaseService; class Services extends BaseService @@ -21,7 +22,7 @@ public static function auth(bool $getShared = true): Auth return self::getSharedInstance('auth'); } - $config = config('Auth'); + $config = config(AuthConfig::class); return new Auth(new Authentication($config)); } @@ -35,7 +36,7 @@ public static function passwords(bool $getShared = true): Passwords return self::getSharedInstance('passwords'); } - return new Passwords(config('Auth')); + return new Passwords(config(AuthConfig::class)); } /** diff --git a/src/Controllers/LoginController.php b/src/Controllers/LoginController.php index eab0aa316..a4adacaba 100644 --- a/src/Controllers/LoginController.php +++ b/src/Controllers/LoginController.php @@ -8,6 +8,8 @@ use CodeIgniter\HTTP\RedirectResponse; use CodeIgniter\Shield\Authentication\Authenticators\Session; use CodeIgniter\Shield\Authentication\Passwords; +use CodeIgniter\Shield\Config\Auth; +use CodeIgniter\Shield\Config\AuthSession; use CodeIgniter\Shield\Traits\Viewable; class LoginController extends BaseController @@ -24,7 +26,7 @@ class LoginController extends BaseController public function loginView() { if (auth()->loggedIn()) { - return redirect()->to(config('Auth')->loginRedirect()); + return redirect()->to(config(Auth::class)->loginRedirect()); } /** @var Session $authenticator */ @@ -71,7 +73,7 @@ public function loginAction(): RedirectResponse return redirect()->route('auth-action-show')->withCookies(); } - return redirect()->to(config('Auth')->loginRedirect())->withCookies(); + return redirect()->to(config(Auth::class)->loginRedirect())->withCookies(); } /** @@ -85,11 +87,11 @@ protected function getValidationRules(): array return setting('Validation.login') ?? [ // 'username' => [ // 'label' => 'Auth.username', - // 'rules' => config('AuthSession')->usernameValidationRules, + // 'rules' => config(AuthSession::class)->usernameValidationRules, // ], 'email' => [ 'label' => 'Auth.email', - 'rules' => config('AuthSession')->emailValidationRules, + 'rules' => config(AuthSession::class)->emailValidationRules, ], 'password' => [ 'label' => 'Auth.password', @@ -108,7 +110,7 @@ public function logoutAction(): RedirectResponse { // Capture logout redirect URL before auth logout, // otherwise you cannot check the user in `logoutRedirect()`. - $url = config('Auth')->logoutRedirect(); + $url = config(Auth::class)->logoutRedirect(); auth()->logout(); diff --git a/src/Controllers/MagicLinkController.php b/src/Controllers/MagicLinkController.php index 45cfb1060..a4422a3a1 100644 --- a/src/Controllers/MagicLinkController.php +++ b/src/Controllers/MagicLinkController.php @@ -10,6 +10,8 @@ use CodeIgniter\HTTP\RedirectResponse; use CodeIgniter\I18n\Time; use CodeIgniter\Shield\Authentication\Authenticators\Session; +use CodeIgniter\Shield\Config\Auth; +use CodeIgniter\Shield\Config\AuthSession; use CodeIgniter\Shield\Models\LoginModel; use CodeIgniter\Shield\Models\UserIdentityModel; use CodeIgniter\Shield\Models\UserModel; @@ -51,7 +53,7 @@ public function __construct() public function loginView() { if (auth()->loggedIn()) { - return redirect()->to(config('Auth')->loginRedirect()); + return redirect()->to(config(Auth::class)->loginRedirect()); } return $this->view(setting('Auth.views')['magic-link-login']); @@ -189,7 +191,7 @@ public function verify(): RedirectResponse Events::trigger('magicLogin'); // Get our login redirect url - return redirect()->to(config('Auth')->loginRedirect()); + return redirect()->to(config(Auth::class)->loginRedirect()); } /** @@ -224,7 +226,7 @@ protected function getValidationRules(): array return [ 'email' => [ 'label' => 'Auth.email', - 'rules' => config('AuthSession')->emailValidationRules, + 'rules' => config(AuthSession::class)->emailValidationRules, ], ]; } diff --git a/src/Controllers/RegisterController.php b/src/Controllers/RegisterController.php index 954742dc2..e48509585 100644 --- a/src/Controllers/RegisterController.php +++ b/src/Controllers/RegisterController.php @@ -12,6 +12,7 @@ use CodeIgniter\Shield\Authentication\Authenticators\Session; use CodeIgniter\Shield\Authentication\Passwords; use CodeIgniter\Shield\Config\Auth; +use CodeIgniter\Shield\Config\AuthSession; use CodeIgniter\Shield\Entities\User; use CodeIgniter\Shield\Exceptions\ValidationException; use CodeIgniter\Shield\Models\UserModel; @@ -46,8 +47,7 @@ public function initController( $logger ); - /** @var Auth $authConfig */ - $authConfig = config('Auth'); + $authConfig = config(Auth::class); $this->tables = $authConfig->tables; } @@ -59,7 +59,7 @@ public function initController( public function registerView() { if (auth()->loggedIn()) { - return redirect()->to(config('Auth')->registerRedirect()); + return redirect()->to(config(Auth::class)->registerRedirect()); } // Check if registration is allowed @@ -85,7 +85,7 @@ public function registerView() public function registerAction(): RedirectResponse { if (auth()->loggedIn()) { - return redirect()->to(config('Auth')->registerRedirect()); + return redirect()->to(config(Auth::class)->registerRedirect()); } // Check if registration is allowed @@ -145,7 +145,7 @@ public function registerAction(): RedirectResponse $authenticator->completeLogin($user); // Success! - return redirect()->to(config('Auth')->registerRedirect()) + return redirect()->to(config(Auth::class)->registerRedirect()) ->with('message', lang('Auth.registerSuccess')); } @@ -178,11 +178,11 @@ protected function getUserEntity(): User protected function getValidationRules(): array { $registrationUsernameRules = array_merge( - config('AuthSession')->usernameValidationRules, + config(AuthSession::class)->usernameValidationRules, [sprintf('is_unique[%s.username]', $this->tables['users'])] ); $registrationEmailRules = array_merge( - config('AuthSession')->emailValidationRules, + config(AuthSession::class)->emailValidationRules, [sprintf('is_unique[%s.secret]', $this->tables['identities'])] ); diff --git a/src/Database/Migrations/2020-12-28-223112_create_auth_tables.php b/src/Database/Migrations/2020-12-28-223112_create_auth_tables.php index 792cdad3a..042c352e0 100644 --- a/src/Database/Migrations/2020-12-28-223112_create_auth_tables.php +++ b/src/Database/Migrations/2020-12-28-223112_create_auth_tables.php @@ -19,8 +19,7 @@ class CreateAuthTables extends Migration public function __construct(?Forge $forge = null) { - /** @var Auth $authConfig */ - $authConfig = config('Auth'); + $authConfig = config(Auth::class); if ($authConfig->DBGroup !== null) { $this->DBGroup = $authConfig->DBGroup; diff --git a/src/Filters/ChainAuth.php b/src/Filters/ChainAuth.php index eb4ee0fbb..2eccdd105 100644 --- a/src/Filters/ChainAuth.php +++ b/src/Filters/ChainAuth.php @@ -10,6 +10,7 @@ use CodeIgniter\HTTP\RequestInterface; use CodeIgniter\HTTP\Response; use CodeIgniter\HTTP\ResponseInterface; +use CodeIgniter\Shield\Config\Auth; /** * Chain Authentication Filter. @@ -41,7 +42,7 @@ public function before(RequestInterface $request, $arguments = null) helper('settings'); - $chain = config('Auth')->authenticationChain; + $chain = config(Auth::class)->authenticationChain; foreach ($chain as $alias) { if (auth($alias)->loggedIn()) { diff --git a/src/Filters/ForcePasswordResetFilter.php b/src/Filters/ForcePasswordResetFilter.php index bfa3d21aa..8b320cbdc 100644 --- a/src/Filters/ForcePasswordResetFilter.php +++ b/src/Filters/ForcePasswordResetFilter.php @@ -11,6 +11,7 @@ use CodeIgniter\HTTP\Response; use CodeIgniter\HTTP\ResponseInterface; use CodeIgniter\Shield\Authentication\Authenticators\Session; +use CodeIgniter\Shield\Config\Auth; /** * Force Password Reset Filter. @@ -38,7 +39,7 @@ public function before(RequestInterface $request, $arguments = null) $authenticator = auth('session')->getAuthenticator(); if ($authenticator->loggedIn() && $authenticator->getUser()->requiresPasswordReset()) { - return redirect()->to(config('Auth')->forcePasswordResetRedirect()); + return redirect()->to(config(Auth::class)->forcePasswordResetRedirect()); } } diff --git a/src/Filters/SessionAuth.php b/src/Filters/SessionAuth.php index d95f89c07..e280f4785 100644 --- a/src/Filters/SessionAuth.php +++ b/src/Filters/SessionAuth.php @@ -11,6 +11,7 @@ use CodeIgniter\HTTP\Response; use CodeIgniter\HTTP\ResponseInterface; use CodeIgniter\Shield\Authentication\Authenticators\Session; +use CodeIgniter\Shield\Config\Auth; /** * Session Authentication Filter. @@ -56,7 +57,7 @@ public function before(RequestInterface $request, $arguments = null) $error = $user->getBanMessage() ?? lang('Auth.logOutBannedUser'); $authenticator->logout(); - return redirect()->to(config('Auth')->logoutRedirect()) + return redirect()->to(config(Auth::class)->logoutRedirect()) ->with('error', $error); } diff --git a/src/Views/email_2fa_show.php b/src/Views/email_2fa_show.php index 46cf68cf4..4a8275ff4 100644 --- a/src/Views/email_2fa_show.php +++ b/src/Views/email_2fa_show.php @@ -1,4 +1,9 @@ -extend(config('Auth')->views['layout']) ?> + +extend(config(Auth::class)->views['layout']) ?> section('title') ?> endSection() ?> diff --git a/src/Views/email_2fa_verify.php b/src/Views/email_2fa_verify.php index 722977b8c..29aeb8440 100644 --- a/src/Views/email_2fa_verify.php +++ b/src/Views/email_2fa_verify.php @@ -1,4 +1,9 @@ -extend(config('Auth')->views['layout']) ?> + +extend(config(Auth::class)->views['layout']) ?> section('title') ?> endSection() ?> diff --git a/src/Views/email_activate_show.php b/src/Views/email_activate_show.php index 491fc2fbf..fe5a4f11d 100644 --- a/src/Views/email_activate_show.php +++ b/src/Views/email_activate_show.php @@ -1,4 +1,9 @@ -extend(config('Auth')->views['layout']) ?> + +extend(config(Auth::class)->views['layout']) ?> section('title') ?> endSection() ?> diff --git a/src/Views/login.php b/src/Views/login.php index 34193ce19..7d47f5ea0 100644 --- a/src/Views/login.php +++ b/src/Views/login.php @@ -1,4 +1,9 @@ -extend(config('Auth')->views['layout']) ?> + +extend(config(Auth::class)->views['layout']) ?> section('title') ?> endSection() ?> diff --git a/src/Views/magic_link_form.php b/src/Views/magic_link_form.php index 100ce67f6..16fe326f3 100644 --- a/src/Views/magic_link_form.php +++ b/src/Views/magic_link_form.php @@ -1,4 +1,9 @@ -extend(config('Auth')->views['layout']) ?> + +extend(config(Auth::class)->views['layout']) ?> section('title') ?> endSection() ?> diff --git a/src/Views/magic_link_message.php b/src/Views/magic_link_message.php index 0855272f3..f1d961110 100644 --- a/src/Views/magic_link_message.php +++ b/src/Views/magic_link_message.php @@ -1,4 +1,9 @@ -extend(config('Auth')->views['layout']) ?> + +extend(config(Auth::class)->views['layout']) ?> section('title') ?> endSection() ?> diff --git a/src/Views/register.php b/src/Views/register.php index 4c8fb301e..d6060a7e5 100644 --- a/src/Views/register.php +++ b/src/Views/register.php @@ -1,4 +1,9 @@ -extend(config('Auth')->views['layout']) ?> + +extend(config(Auth::class)->views['layout']) ?> section('title') ?> endSection() ?>