在Laravel 5中创建用户

Jas*_*ick 6 php authentication laravel-5

所以我正在使用JSON web Tokens 跟踪这个angular/Laravel 5教程.我遇到了一个问题.

以下是创建用户的方式:

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'));
});
Run Code Online (Sandbox Code Playgroud)

问题是,User::create($credentials);不加密密码,这意味着登录将始终失败.我通过使用Laravel的默认注册找到了这个.

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

Sty*_*hon 12

您必须使用Hash帮助程序类自己散列密码.试试这个:

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'));
});
Run Code Online (Sandbox Code Playgroud)