格式化代码

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
{
$this->load(__DIR__.'/Commands');
$this->load(__DIR__ . '/Commands');
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.
*
* @var array<class-string<\Throwable>, \Psr\Log\LogLevel::*>
* @var array<class-string<Throwable>, \Psr\Log\LogLevel::*>
*/
protected $levels = [
//
@ -19,7 +19,7 @@ class Handler extends ExceptionHandler
/**
* A list of the exception types that are not reported.
*
* @var array<int, class-string<\Throwable>>
* @var array<int, class-string<Throwable>>
*/
protected $dontReport = [
//

View File

@ -4,16 +4,17 @@
use App\Models\User;
use GuzzleHttp\Client;
use Illuminate\Support\Str;
use Illuminate\Http\Request;
use Illuminate\Support\Carbon;
use GuzzleHttp\Exception\GuzzleException;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Str;
class AuthController extends Controller
{
public function redirect(Request $request)
public function redirect(Request $request): RedirectResponse
{
$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);
}
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) {
// abort(403, 'Invalid state');
@ -38,42 +39,48 @@ public function callback(Request $request)
$http = new Client;
$authorize = $http->post(config('oauth.oauth_token_url'), [
'form_params' => [
'grant_type' => 'authorization_code',
'client_id' => config('oauth.client_id'),
'client_secret' => config('oauth.client_secret'),
'redirect_uri' => config('oauth.callback_uri'),
'code' => $request->code,
],
])->getBody();
try {
$authorize = $http->post(config('oauth.oauth_token_url'), [
'form_params' => [
'grant_type' => 'authorization_code',
'client_id' => config('oauth.client_id'),
'client_secret' => config('oauth.client_secret'),
'redirect_uri' => config('oauth.callback_uri'),
'code' => $request->input('code'),
],
])->getBody();
} catch (GuzzleException $e) {
}
$authorize = json_decode($authorize);
$oauth_user = $http->get(config('oauth.oauth_user_url'), [
'headers' => [
'Accept' => 'application/json',
'Authorization' => 'Bearer ' . $authorize->access_token,
],
])->getBody();
try {
$oauth_user = $http->get(config('oauth.oauth_user_url'), [
'headers' => [
'Accept' => 'application/json',
'Authorization' => 'Bearer ' . $authorize->access_token,
],
])->getBody();
} catch (GuzzleException $e) {
}
$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();
$api_token = null;
// $api_token = null;
if (is_null($user)) {
$name = $oauth_user->name;
$email = $oauth_user->email;
$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());
} else {
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
]);
}
$api_token = $user->api_token;
// $api_token = $user->api_token;
}
Auth::loginUsingId($user->id, true);
@ -81,17 +88,8 @@ public function callback(Request $request)
return redirect()->route('index');
}
public function reset()
{
return view('password.reset');
}
public function confirm()
{
return view('password.confirm');
}
public function confirm_password(Request $request)
public function confirm_password(Request $request): JsonResponse|RedirectResponse
{
$request->validate($this->password_rules());
@ -102,14 +100,14 @@ public function confirm_password(Request $request)
: redirect()->intended();
}
protected function password_rules()
protected function password_rules(): array
{
return [
'password' => 'required|password',
];
}
public function logout()
public function logout(): RedirectResponse
{
Auth::logout();
return redirect()->route('index');

View File

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

View File

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

View File

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

View File

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

View File

@ -13,7 +13,11 @@ class RedirectIfAuthenticated
/**
* 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
{

View File

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

View File

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

View File

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

View File

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