我尝试了很多搜索问题。我无法找到任何解决方案。请帮助我理解我做错了什么。
我附上了代码:
UserController.php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\User;
use Illuminate\Support\Facades\Auth;
class UserController extends Controller
{
public function signup(Request $request){
$this->validate($request,[
'name' => 'required',
'email' => 'required|unique:users',
'password' => 'required'
]);
$user = new User([
'name' => $request->input('name'),
'email' => $request->input('email'),
'password' => bcrypt($request->input('password ')),
]);
$user->save();
return response()->json([
'state' => 'success',
'message' => 'User created.'
],201);
}
public function signin(Request $request){
$credentials = $request->only('email', 'password');
dd(Auth::attempt($credentials));
if (!$token = $this->guard()->attempt($credentials)) {
return response()->json(['error' => 'Unauthorized'], 401);
}
return $this->respondWithToken($token);
}
}
我在 api.php
中有路线Route::prefix('user')->group(function () {
Route::post('signup', 'UserController@signup');
Route::post('signin', 'UserController@signin');
});
我有
I have this in database
我首先发送了下面的json注册,但是当我发送注册时我失败了。
{
"name":"ironman",
"email":"ironman@yahoo.com",
"password":"avengers"
}
这是laravel 5.4的全新安装(与5.5相同),使用详细信息用户迁移和模型随附。
当我尝试自己诊断问题时,我发现密码_very在Auth包中一直返回false。
我正在使用默认密码字段,在创建用户时对其进行哈希处理,因为其他类似问题已得到解答。 我正在使用php artisan serv。 我正在使用邮递员发送此请求。
请帮忙,
答案 0 :(得分:2)
这是从请求中提取null
:
$request->input('password '); // notice the space
'password' => bcrypt($request->input('password ')),
您可能不打算在输入名称的末尾添加空格:
$request->input('password'); // no space
'password' => bcrypt($request->input('password')),