php - 成功创建帐户后,Laravel 不会发送响应
问题描述
我可以很好地将数据保存到数据库中。然后我在创建后立即使用电子邮件登录该当前用户。但它总是会发送请求。这里可能有什么问题?
类 RegisterController 扩展控制器 { 使用 AuthenticatesUsers;
protected $redirectTo = '/home';
private $loginProxy;
public function __construct(LoginProxy $loginProxy)
{
$this->loginProxy = $loginProxy;
$this->middleware('guest')->except('logout');
}
function apiRegisterUser(Request $request)
{
$validator = Validator::make($request->all(), [
'name' => 'string|max:255',
'email' => 'required|string|email|max:255|unique:users',
'password' => 'required|string|min:6',
]);
if ($validator->fails()) {
return response()->json(array('code' => 406, 'error' => $validator->messages()), 406);
} else {
// Log::channel('abuse')->info('user');
$user = User::create(['name' => $request['name'],
'email' => $request['email'],
'password' => Hash::make($request['password']),
'referral_code' => str_random(10)
]);
$user->updateLastRoute(1);
$credentials = $this->loginProxy->attemptLogin($request['email'], $request['password']);
return response()->json($this->successResponse(200, "Login successfull", $credentials), 200);
}
}
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users',
'password' => 'required|string|min:6|confirmed',
]);
}
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
]);
}
}
解决方案
使用auth()->attempt()
我不确定的功能,loginProxy
但这auth()->attempt()
应该可以
$credentials = [
"email" => $request['email'],
"password" => $request['password']
];
if (auth()->attempt($credentials)) {
return response()->json($this->successResponse(200, "Login successfull", $credentials), 200);
}
推荐阅读
- android - Android 推送通知 setLargeIcon 不起作用且图标未显示 FCM
- java - Wildfly 14 服务在部署期间丢失或失败
- python-3.x - Networkx 2.2:degree_assortativity_coefficient 与权重
- sql-server - SAS 连接到 SQL Server 并返回参数
- authentication - WEP:共享密钥认证的响应计算
- jquery - 加载页面时如何添加 JQPlot 类以隐藏所有图表线?
- extjs - ExtJS - xtype 'breadcrumb':更改选择框和面包屑文本列表中的项目和样式
- webpack - 如何使用“mini-css-extract-plugin”指定输出目录?
- php - Silverstripe 过滤器关系 AND 而不是 OR
- c# - 删除文件夹 C# .net Core