API Login dan Logout

route dan api controller
 avatar
AhmadAbdillah
php
a year ago
1.3 kB
1
No Index
// route api.php
Route::post('login', [AuthApi::class, 'login']);
Route::post('logout', [AuthApi::class, 'logout'])->middleware('auth:sanctum');

// controller AuthApi.php
public function login(Request $request)
    {
        $request->validate([
            'email' => 'required|email|string',
            'password' => 'required'
        ]);

        $user = User::where('email', $request->email)->first();
        if (!$user && !Hash::check($request->password, $user->password)) {
            return response()->json([
                'success' => false,
                'message' => 'invalid email or password',
                'data' => null,
            ]);
        }

        $token = $user->createToken('Api Token')->plainTextToken;

        return response()->json([
            'status' => true,
            'message' => 'Login successful',
            'data' => [
                'access_token' => $token,
                'token_type' => 'Bearer',
                'user' => $user,
            ],
        ]);
    }

    public function logout(Request $request)
    {
        $request->user()->currentAccessToken()->delete();
        return response()->json([
            'success' => true,
            'data' => null,
            'message' => 'berhasil logout'
        ]);
    }
Editor is loading...
Leave a Comment