if ($validator->fails()) { return response()->json(['error' => 'Validation Error', 'validation_errors' => $validator->errors()], 400); } $credentials = $request->only('email', 'password'); try { $user = User::where('email', $request->email)->firstOrFail(); } catch (ModelNotFoundException $e) { return response()->json(['error' => 'invalid_credentials'], 401); } if (!($token = JWTAuth::attempt($credentials, ['name' => $user->name]))) { return response()->json(['error' => 'invalid_credentials'], 401); } return response()->json(compact('token')); }); // Test route for restricted data (to be removed) Route::get('restricted', ['middleware' => 'jwt.auth', function () { $token = JWTAuth::getToken(); $user = JWTAuth::toUser($token); return response()->json(['data' => ['email' => $user->email, 'registered_at' => $user->created_at->toDateTimeString()]]); }]); Route::get('user/{id}', function ($id) { $user = User::find($id); return response()->json(['user' => $user]); }); Route::get('test', function () { $users = User::paginate(10); return $users; }); Route::resource('topic/{id}/posts', 'TopicController@showPosts'); Route::resource('topic', 'TopicController'); Route::resource('post', 'PostController');
public function login(Request $request) { $credentials = $request->only('email', 'password'); if (!($token = \JWTAuth::attempt($credentials))) { return response()->json(['error' => 'invalid_credentials'], 401); } return response()->json(['token' => $token, 'user' => ['id' => \JWTAuth::toUser($token)->id, 'name' => \JWTAuth::toUser($token)->name, 'email' => \JWTAuth::toUser($token)->email]]); }
//Admin routes Route::group(array('prefix' => 'admin', 'namespace' => 'App\\Http\\Admin\\Controllers'), function () { Route::get('/', array('uses' => 'AdminController@index')); }); Route::get('/generator', array('uses' => 'GeneratorController@index')); Route::get('/createtoken', function () { $customer = Customer::whereEmail('*****@*****.**')->first(); $token = JWTAuth::fromUser($customer); return Response::json($token); }); Route::get('/testtoken', function () { $headers1 = Request::header("custom"); JWTAuth::setRequest(Request::instance()); $headers2 = JWTAuth::getRequest()->header(); $token = JWTAuth::getToken(); return Response::json(JWTAuth::toUser($token)); }); Route::get('/testpost', function () { $param = \Illuminate\Support\Facades\Input::all(); $name = $param->name; return \Symfony\Component\HttpFoundation\Response::json($param); }); //Front routes Route::group(array('prefix' => 'api'), function () { // customers Route::post('customers/login', array('uses' => 'CustomerController@login')); Route::post('customers/logout', array('uses' => 'CustomerController@logout')); Route::post('customers/register', array('uses' => 'CustomerController@register')); Route::get('customers/new', array('uses' => 'CustomerController@getEmpty')); // catalog Route::get('catalog/top', array('uses' => 'CatalogController@getTopCategories'));