格式化代码

This commit is contained in:
iVampireSP.com 2023-03-15 21:42:40 +08:00
parent 2bb8a5d784
commit 8f52997045
No known key found for this signature in database
GPG Key ID: 2F7B001CA27A8132
12 changed files with 110 additions and 80 deletions

View File

@ -20,7 +20,7 @@ protected function schedule(Schedule $schedule): void
*/ */
protected function commands(): void protected function commands(): void
{ {
$this->load(__DIR__.'/Commands'); $this->load(__DIR__ . '/Commands');
require base_path('routes/console.php'); require base_path('routes/console.php');
} }

View File

@ -10,7 +10,7 @@ class Handler extends ExceptionHandler
/** /**
* A list of exception types with their corresponding custom log levels. * A list of exception types with their corresponding custom log levels.
* *
* @var array<class-string<\Throwable>, \Psr\Log\LogLevel::*> * @var array<class-string<Throwable>, \Psr\Log\LogLevel::*>
*/ */
protected $levels = [ protected $levels = [
// //
@ -19,7 +19,7 @@ class Handler extends ExceptionHandler
/** /**
* A list of the exception types that are not reported. * A list of the exception types that are not reported.
* *
* @var array<int, class-string<\Throwable>> * @var array<int, class-string<Throwable>>
*/ */
protected $dontReport = [ protected $dontReport = [
// //

View File

@ -4,16 +4,17 @@
use App\Models\User; use App\Models\User;
use GuzzleHttp\Client; use GuzzleHttp\Client;
use Illuminate\Support\Str; use GuzzleHttp\Exception\GuzzleException;
use Illuminate\Http\Request;
use Illuminate\Support\Carbon;
use Illuminate\Http\JsonResponse; use Illuminate\Http\JsonResponse;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Str;
class AuthController extends Controller class AuthController extends Controller
{ {
public function redirect(Request $request) public function redirect(Request $request): RedirectResponse
{ {
$request->session()->put('state', $state = Str::random(40)); $request->session()->put('state', $state = Str::random(40));
@ -28,9 +29,9 @@ public function redirect(Request $request)
return redirect()->to(config('oauth.oauth_auth_url') . '?' . $query); return redirect()->to(config('oauth.oauth_auth_url') . '?' . $query);
} }
public function callback(Request $request) public function callback(Request $request): RedirectResponse
{ {
$state = $request->session()->pull('state'); // $state = $request->session()->pull('state');
// if (strlen($state) > 0 && $state === $request->state) { // if (strlen($state) > 0 && $state === $request->state) {
// abort(403, 'Invalid state'); // abort(403, 'Invalid state');
@ -38,42 +39,48 @@ public function callback(Request $request)
$http = new Client; $http = new Client;
try {
$authorize = $http->post(config('oauth.oauth_token_url'), [ $authorize = $http->post(config('oauth.oauth_token_url'), [
'form_params' => [ 'form_params' => [
'grant_type' => 'authorization_code', 'grant_type' => 'authorization_code',
'client_id' => config('oauth.client_id'), 'client_id' => config('oauth.client_id'),
'client_secret' => config('oauth.client_secret'), 'client_secret' => config('oauth.client_secret'),
'redirect_uri' => config('oauth.callback_uri'), 'redirect_uri' => config('oauth.callback_uri'),
'code' => $request->code, 'code' => $request->input('code'),
], ],
])->getBody(); ])->getBody();
} catch (GuzzleException $e) {
}
$authorize = json_decode($authorize); $authorize = json_decode($authorize);
try {
$oauth_user = $http->get(config('oauth.oauth_user_url'), [ $oauth_user = $http->get(config('oauth.oauth_user_url'), [
'headers' => [ 'headers' => [
'Accept' => 'application/json', 'Accept' => 'application/json',
'Authorization' => 'Bearer ' . $authorize->access_token, 'Authorization' => 'Bearer ' . $authorize->access_token,
], ],
])->getBody(); ])->getBody();
} catch (GuzzleException $e) {
}
$oauth_user = json_decode($oauth_user); $oauth_user = json_decode($oauth_user);
$user_sql = User::where('email', $oauth_user->email); $user_sql = (new User)->where('email', $oauth_user->email);
$user = $user_sql->first(); $user = $user_sql->first();
$api_token = null; // $api_token = null;
if (is_null($user)) { if (is_null($user)) {
$name = $oauth_user->name; $name = $oauth_user->name;
$email = $oauth_user->email; $email = $oauth_user->email;
$password = Hash::make(Str::random(40)); $password = Hash::make(Str::random(40));
$user = User::create(compact('name', 'email', 'password')); $user = (new User)->create(compact('name', 'email', 'password'));
$request->session()->put('auth.password_confirmed_at', time()); $request->session()->put('auth.password_confirmed_at', time());
} else { } else {
if ($user->name != $oauth_user->name) { if ($user->name != $oauth_user->name) {
User::where('email', $oauth_user->email)->update([ (new User)->where('email', $oauth_user->email)->update([
'name' => $oauth_user->name 'name' => $oauth_user->name
]); ]);
} }
$api_token = $user->api_token; // $api_token = $user->api_token;
} }
Auth::loginUsingId($user->id, true); Auth::loginUsingId($user->id, true);
@ -81,17 +88,8 @@ public function callback(Request $request)
return redirect()->route('index'); return redirect()->route('index');
} }
public function reset()
{
return view('password.reset');
}
public function confirm() public function confirm_password(Request $request): JsonResponse|RedirectResponse
{
return view('password.confirm');
}
public function confirm_password(Request $request)
{ {
$request->validate($this->password_rules()); $request->validate($this->password_rules());
@ -102,14 +100,14 @@ public function confirm_password(Request $request)
: redirect()->intended(); : redirect()->intended();
} }
protected function password_rules() protected function password_rules(): array
{ {
return [ return [
'password' => 'required|password', 'password' => 'required|password',
]; ];
} }
public function logout() public function logout(): RedirectResponse
{ {
Auth::logout(); Auth::logout();
return redirect()->route('index'); return redirect()->route('index');

View File

@ -2,11 +2,12 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Helpers\ApiResponse;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests; use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Foundation\Validation\ValidatesRequests; use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Routing\Controller as BaseController; use Illuminate\Routing\Controller as BaseController;
class Controller extends BaseController class Controller extends BaseController
{ {
use AuthorizesRequests, ValidatesRequests; use AuthorizesRequests, ValidatesRequests, ApiResponse;
} }

View File

@ -6,7 +6,8 @@
class HomeController extends Controller class HomeController extends Controller
{ {
public function index(Request $request) { public function index(Request $request)
{
if ($request->user()) { if ($request->user()) {
return view('spa'); return view('spa');
} }

View File

@ -6,7 +6,8 @@
class SpaController extends Controller class SpaController extends Controller
{ {
public function __invoke(Request $request) { public function __invoke(Request $request)
{
// return view('spa'); // return view('spa');

View File

@ -2,7 +2,31 @@
namespace App\Http; namespace App\Http;
use App\Http\Middleware\Admin;
use App\Http\Middleware\Authenticate;
use App\Http\Middleware\EncryptCookies;
use App\Http\Middleware\PreventRequestsDuringMaintenance;
use App\Http\Middleware\RedirectIfAuthenticated;
use App\Http\Middleware\TrimStrings;
use App\Http\Middleware\TrustProxies;
use App\Http\Middleware\ValidateSignature;
use App\Http\Middleware\VerifyCsrfToken;
use Illuminate\Auth\Middleware\AuthenticateWithBasicAuth;
use Illuminate\Auth\Middleware\Authorize;
use Illuminate\Auth\Middleware\EnsureEmailIsVerified;
use Illuminate\Auth\Middleware\RequirePassword;
use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse;
use Illuminate\Foundation\Http\Kernel as HttpKernel; use Illuminate\Foundation\Http\Kernel as HttpKernel;
use Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull;
use Illuminate\Foundation\Http\Middleware\ValidatePostSize;
use Illuminate\Http\Middleware\HandleCors;
use Illuminate\Http\Middleware\SetCacheHeaders;
use Illuminate\Routing\Middleware\SubstituteBindings;
use Illuminate\Routing\Middleware\ThrottleRequests;
use Illuminate\Session\Middleware\AuthenticateSession;
use Illuminate\Session\Middleware\StartSession;
use Illuminate\View\Middleware\ShareErrorsFromSession;
use Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful;
class Kernel extends HttpKernel class Kernel extends HttpKernel
{ {
@ -15,12 +39,12 @@ class Kernel extends HttpKernel
*/ */
protected $middleware = [ protected $middleware = [
// \App\Http\Middleware\TrustHosts::class, // \App\Http\Middleware\TrustHosts::class,
\App\Http\Middleware\TrustProxies::class, TrustProxies::class,
\Illuminate\Http\Middleware\HandleCors::class, HandleCors::class,
\App\Http\Middleware\PreventRequestsDuringMaintenance::class, PreventRequestsDuringMaintenance::class,
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class, ValidatePostSize::class,
\App\Http\Middleware\TrimStrings::class, TrimStrings::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class, ConvertEmptyStringsToNull::class,
]; ];
/** /**
@ -30,18 +54,18 @@ class Kernel extends HttpKernel
*/ */
protected $middlewareGroups = [ protected $middlewareGroups = [
'web' => [ 'web' => [
\App\Http\Middleware\EncryptCookies::class, EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class, StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class, ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class, VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class, SubstituteBindings::class,
], ],
'api' => [ 'api' => [
\Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class, EnsureFrontendRequestsAreStateful::class,
\Illuminate\Routing\Middleware\ThrottleRequests::class.':api', ThrottleRequests::class . ':api',
\Illuminate\Routing\Middleware\SubstituteBindings::class, SubstituteBindings::class,
], ],
]; ];
@ -53,15 +77,16 @@ class Kernel extends HttpKernel
* @var array<string, class-string|string> * @var array<string, class-string|string>
*/ */
protected $middlewareAliases = [ protected $middlewareAliases = [
'auth' => \App\Http\Middleware\Authenticate::class, 'auth' => Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 'auth.basic' => AuthenticateWithBasicAuth::class,
'auth.session' => \Illuminate\Session\Middleware\AuthenticateSession::class, 'auth.session' => AuthenticateSession::class,
'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class, 'cache.headers' => SetCacheHeaders::class,
'can' => \Illuminate\Auth\Middleware\Authorize::class, 'can' => Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, 'guest' => RedirectIfAuthenticated::class,
'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class, 'password.confirm' => RequirePassword::class,
'signed' => \App\Http\Middleware\ValidateSignature::class, 'signed' => ValidateSignature::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 'throttle' => ThrottleRequests::class,
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class, 'verified' => EnsureEmailIsVerified::class,
'admin' => Admin::class,
]; ];
} }

View File

@ -13,7 +13,11 @@ class RedirectIfAuthenticated
/** /**
* Handle an incoming request. * Handle an incoming request.
* *
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next * @param Request $request
* @param Closure(Request): (Response) $next
* @param string ...$guards
*
* @return Response
*/ */
public function handle(Request $request, Closure $next, string ...$guards): Response public function handle(Request $request, Closure $next, string ...$guards): Response
{ {

View File

@ -3,7 +3,7 @@
namespace App\Http\Middleware; namespace App\Http\Middleware;
use Illuminate\Http\Middleware\TrustProxies as Middleware; use Illuminate\Http\Middleware\TrustProxies as Middleware;
use Illuminate\Http\Request; use Symfony\Component\HttpFoundation\Request as RequestAlias;
class TrustProxies extends Middleware class TrustProxies extends Middleware
{ {
@ -20,9 +20,9 @@ class TrustProxies extends Middleware
* @var int * @var int
*/ */
protected $headers = protected $headers =
Request::HEADER_X_FORWARDED_FOR | RequestAlias::HEADER_X_FORWARDED_FOR |
Request::HEADER_X_FORWARDED_HOST | RequestAlias::HEADER_X_FORWARDED_HOST |
Request::HEADER_X_FORWARDED_PORT | RequestAlias::HEADER_X_FORWARDED_PORT |
Request::HEADER_X_FORWARDED_PROTO | RequestAlias::HEADER_X_FORWARDED_PROTO |
Request::HEADER_X_FORWARDED_AWS_ELB; RequestAlias::HEADER_X_FORWARDED_AWS_ELB;
} }

View File

@ -11,7 +11,7 @@ class ValidateSignature extends Middleware
* *
* @var array<int, string> * @var array<int, string>
*/ */
protected $except = [ protected array $except = [
// 'fbclid', // 'fbclid',
// 'utm_campaign', // 'utm_campaign',
// 'utm_content', // 'utm_content',

View File

@ -43,7 +43,8 @@ class User extends Authenticatable
'is_admin' => 'boolean', 'is_admin' => 'boolean',
]; ];
public function isAdmin() { public function isAdmin()
{
return $this->is_admin; return $this->is_admin;
} }

View File

@ -5,7 +5,6 @@
use Illuminate\Auth\Events\Registered; use Illuminate\Auth\Events\Registered;
use Illuminate\Auth\Listeners\SendEmailVerificationNotification; use Illuminate\Auth\Listeners\SendEmailVerificationNotification;
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider; use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
use Illuminate\Support\Facades\Event;
class EventServiceProvider extends ServiceProvider class EventServiceProvider extends ServiceProvider
{ {