Php 在Laravel 5中创建用户

Php 在Laravel 5中创建用户,php,authentication,laravel-5,Php,Authentication,Laravel 5,因此,我将使用JSON web标记关注这一点。我遇到了一个问题 下面是创建用户的方式: Route::post('/signup', function () { $credentials = Input::only('email', 'password','name'); try { $user = User::create($credentials); } catch (Exception $e) { return Response::json(

因此,我将使用JSON web标记关注这一点。我遇到了一个问题

下面是创建用户的方式:

Route::post('/signup', function () {
   $credentials = Input::only('email', 'password','name');

   try {
       $user = User::create($credentials);
   } catch (Exception $e) {
       return Response::json(['error' => 'User already exists.'], Illuminate\Http\Response::HTTP_CONFLICT);
   }

   $token = JWTAuth::fromUser($user);

   return Response::json(compact('token'));
});
问题是,
User::create($credentials)
不会加密密码,这意味着登录将始终失败。我通过使用Laravel的默认注册发现了这一点


我的问题是,如何创建一个以正确方式创建密码的新用户?

您必须使用。试试这个:

Route::post('/signup', function () {
   $credentials = Input::only('email', 'password','name');
   $credentials['password'] = Hash::make($credentials['password']);
   try {
       $user = User::create($credentials);
   } catch (Exception $e) {
       return Response::json(['error' => 'User already exists.'], Illuminate\Http\Response::HTTP_CONFLICT);
   }

   $token = JWTAuth::fromUser($user);

   return Response::json(compact('token'));
});