| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- <?php
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Route;
- use Illuminate\Support\Facades\Hash;
- use Illuminate\Validation\ValidationException;
- use App\Models\User;
- /*
- |--------------------------------------------------------------------------
- | API Routes
- |--------------------------------------------------------------------------
- |
- | Here is where you can register API routes for your application. These
- | routes are loaded by the RouteServiceProvider within a group which
- | is assigned the "api" middleware group. Enjoy building your API!
- |
- */
- Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
- return $request->user();
- });
- Route::post('/login', function (Request $request) {
- $request->validate([
- 'email' => 'required|email',
- 'password' => 'required',
- ]);
-
- $user = User::where('email', $request->email)->first();
-
- if (! $user || ! Hash::check($request->password, $user->password)) {
- throw ValidationException::withMessages([
- 'email' => ['The provided credentials are incorrect.'],
- ]);
- }
- return [
- 'token' => $user->createToken('login')->plainTextToken,
- 'userData' => json_encode($user)
- ];
- });
- Route::middleware('auth:sanctum')->post('/logout', function (Request $request) {
- $user = $request->user();
- // $user->tokens()->delete();
- $user->tokens()->where('tokenable_id', $user->id)->delete();
- return $user;
- });
|