Файловый менеджер - Редактировать - /var/www/vhosts/aviointeriors.dev1.mndrn.cloud/app/Http/Controllers/AuthController.php
Назад
<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\Auth; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use App\Models\User; use Illuminate\Auth\Passwords\PasswordBrokerManager; use Illuminate\Support\Facades\Password; class AuthController extends Controller { /** * Create a new AuthController instance. * * @return void */ public function __construct() { $this->middleware('auth:api', ['except' => ['login', 'ratings']]); } /** * Get a JWT via given credentials. * * @return \Illuminate\Http\JsonResponse */ public function login(Request $request) { $email = $request->email; $user = User::where('email', $email)->first(); if ($user && $user->active != 1) { return response()->json(['error' => 'Forbidden', 'info' => 'User is not active yet!'], 403); } $credentials = $request->only(['email', 'password']); if (! $token = auth()->guard('api')->attempt($credentials)) { return response()->json(['error' => 'Forbidden'], 403); } return $this->respondWithToken($token); } /** * Get the authenticated User. * * @return \Illuminate\Http\JsonResponse */ public function me() { return response()->json(User::where('id', auth()->guard('api')->user()->id)->with('company')->with('company.cabinClasses')->first()); } /** * Log the user out (Invalidate the token). * * @return \Illuminate\Http\JsonResponse */ public function logout() { auth()->logout(); return response()->json(['message' => 'Successfully logged out']); } /** * Refresh a token. * * @return \Illuminate\Http\JsonResponse */ public function refresh() { return $this->respondWithToken(auth()->refresh()); } /** * Get the token array structure. * * @param string $token * * @return \Illuminate\Http\JsonResponse */ protected function respondWithToken($token) { return response()->json([ 'access_token' => $token, 'token_type' => 'bearer', 'expires_in' => auth()->factory()->getTTL() * 60 ]); } // 1. Send reset password email public function generateResetToken(Request $request) { // Check email address is valid $this->validate($request, ['email' => 'required|email']); // Send password reset to the user with this email address $response = $this->broker()->sendResetLink( $request->only('email') ); return $response == Password::RESET_LINK_SENT ? response()->json(true) : response()->json(false); } // 2. Reset Password public function resetPassword(Request $request) { // Check input is valid $rules = [ 'token' => 'required', 'username' => 'required|string', 'password' => 'required|confirmed|min:6', ]; $this->validate($request, $rules); // Reset the password $response = $this->broker()->reset( $this->credentials($request), function ($user, $password) { $user->password = app('hash')->make($password); $user->save(); } ); return $response == Password::PASSWORD_RESET ? response()->json(true) : response()->json(false); } /** * Get the password reset credentials from the request. * * @param \Illuminate\Http\Request $request * @return array */ protected function credentials(Request $request) { return $request->only('username', 'password', 'password_confirmation', 'token'); } /** * Get the broker to be used during password reset. * * @return \Illuminate\Contracts\Auth\PasswordBroker */ public function broker() { $passwordBrokerManager = new PasswordBrokerManager(app()); return $passwordBrokerManager->broker(); } }
| ver. 1.4 |
Github
|
.
| PHP 8.2.5 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка