Skip to content

3. Logout

dungda-0794 edited this page Feb 16, 2023 · 7 revisions

Note: Revoke & flush data inside the service

Features

  • Revoke token
  • Revoke refresh token

Example

POST /logout
  • Parameters
Request Field Field Type Required Field Desc
Authorization Bearer true access_token for authenticate
  • Responses
Response Field Field Type Required Field Desc
N/A N/A N/A return code 204 - noContent
curl -X 'POST' \
  'http://localhost/api/logout' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1...' \
  -d ''
{}

Usage

Make route function the following:

# routes/api.php
Route::group([
    'middleware' => 'auth:api',
], function ($router) {
    Route::post('logout', 'AuthController@logout');
});

Make Refresh function the following:

# App\Http\Controllers\AuthController;
public function logout(Request $request)
{
   auth('api')->logout();

   return response()->noContent();
}

Workflow

sequenceDiagram
Controller->>SunGuard: Logout
SunGuard->>SunJWT: Revoke token & access token!
SunJWT-->>SunGuard: Throw JWT Exception
SunGuard-->>Controller: Successful!
Loading

Explain

Clone this wiki locally