Skip to content

Instantly share code, notes, and snippets.

@techlab23
Created July 30, 2020 06:28
Show Gist options
  • Save techlab23/9485cd5600033e4eeccb0dd1fc9bd5d1 to your computer and use it in GitHub Desktop.
Save techlab23/9485cd5600033e4eeccb0dd1fc9bd5d1 to your computer and use it in GitHub Desktop.
Laravel sanctum configuration
Laravel configuration
=====================
composer packages
-----------------
"php": "^7.2.5",
"laravel/framework": "^7.0",
"fruitcake/laravel-cors": "^2.0",
"laravel/sanctum": "^2.4",
.env
----
SESSION_DRIVER=cookie
SANCTUM_STATEFUL_DOMAINS=localhost:3000
SESSION_DOMAIN=localhost
config/cors.php
---------------
return [
'paths' => ['api/*','sanctum/csrf-cookie','login','logout'],
'allowed_methods' => ['*'],
'allowed_origins' => ['http://localhost:3000'],
'allowed_origins_patterns' => [],
'allowed_headers' => ['*'],
'exposed_headers' => [],
'max_age' => 0,
'supports_credentials' => true,
];
web.php
-------
Route::post('/login', 'UserController@login');
Route::post('/logout', 'UserController@logout');
api.php
-------
Route::get('/user', function (Request $request) {
$user = $request
->user()
->makeHidden(["id","created_at","updated_at","email_verified_at"]);
return ["user" => $user];
})->middleware('auth:sanctum');
UserController.php
------------------
public function login(Request $request) {
$data = $request->validate([
'email' => 'required|email',
'password' => 'required'
]);
if (Auth::attempt($data, true)) {
return $request->user();
}
abort(401);
}
public function logout(Request $request) {
Auth::logout();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment