格式化代码
This commit is contained in:
parent
2bb8a5d784
commit
8f52997045
@ -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');
|
||||
}
|
||||
|
@ -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 = [
|
||||
//
|
||||
|
@ -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');
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -6,7 +6,8 @@
|
||||
|
||||
class HomeController extends Controller
|
||||
{
|
||||
public function index(Request $request) {
|
||||
public function index(Request $request)
|
||||
{
|
||||
if ($request->user()) {
|
||||
return view('spa');
|
||||
}
|
||||
|
@ -6,9 +6,10 @@
|
||||
|
||||
class SpaController extends Controller
|
||||
{
|
||||
public function __invoke(Request $request) {
|
||||
public function __invoke(Request $request)
|
||||
{
|
||||
// return view('spa');
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -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,
|
||||
];
|
||||
}
|
||||
|
@ -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
|
||||
{
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -11,7 +11,7 @@ class ValidateSignature extends Middleware
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $except = [
|
||||
protected array $except = [
|
||||
// 'fbclid',
|
||||
// 'utm_campaign',
|
||||
// 'utm_content',
|
||||
|
@ -43,7 +43,8 @@ class User extends Authenticatable
|
||||
'is_admin' => 'boolean',
|
||||
];
|
||||
|
||||
public function isAdmin() {
|
||||
public function isAdmin()
|
||||
{
|
||||
return $this->is_admin;
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user