my middleware (app/Http/Middleware/Authenticate.php):
namespace App\Http\Middleware;
use Illuminate\Http\Request;
use Illuminate\Http\Exceptions\HttpResponseException;
use Closure;
class Authenticate
{
/**
* Get the path the user should be redirected to when they are not authenticated.
*
* @param \Illuminate\Http\Request $request
* @return string|null
*/
public function handle(Request $request, Closure $next)
{
if (!$request->expectsJson()) {
throw new HttpResponseException(response()->json(['error' => 'Unauthenticated (middleware)'], 401));
}
return $next($request);
}
}
Kernel.php:
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
...
]
api.php
Route::middleware('auth')->get('/user', function (Request $request) {
return $request->user();
});
Route::post('register', 'AuthController@register');
Route::post('login', 'AuthController@login');
Route::post('user/validate', 'UserController@validateUser');
Route::post('password/request', 'PasswordController@request');
Route::post('password/reset', 'PasswordController@reset');
Route::post('contact', 'ContactController@send');
// TODO remove this
Route::post('login/password', 'LoginController@password');
// User
Route::get('user', 'UserController@getUser')->middleware(['auth']);
Route::post('user', 'UserController@save')->middleware(['auth']);
Route::get('user/remove/request', 'UserController@removeRequest')->middleware(['auth']);
Route::post('user/remove', 'UserController@remove')->middleware(['auth']);
// Wishlist
Route::get('wishlist', 'WishlistController@all')->middleware(['auth']);
Route::get('wishlist/{hash}', 'WishlistController@getByHash')->middleware(['auth']);
Route::post('wishlist/{hash}/login', 'WishlistController@login');
Route::get('wishlist/user/{hash}', 'WishlistController@getOwnByHash')->middleware(['auth']);
Route::put('wishlist/{id}', 'WishlistController@update')->middleware(['auth']);
Route::post('wishlist', 'WishlistController@insert')->middleware(['auth']);
Route::delete('wishlist/{id}', 'WishlistController@remove')->middleware(['auth']);
// Wish
Route::post('wish', 'WishController@insert')->middleware(['auth']);
Route::put('wish/{id}', 'WishController@update')->middleware(['auth']);
Route::delete('wish/{id}', 'WishController@delete')->middleware(['auth']);
// Donate
Route::post('donate', 'DonateController@insert');
Route::get('donate/export/{hash}', 'DonateController@export')->middleware(['auth:api']);