【发布时间】:2016-07-28 18:38:55
【问题描述】:
所以我正在开发带有 Laravel 后端并使用 JWT 身份验证的 Ionic 应用程序。
我的问题是...因为我在注册用户时使用了 4 个字段,而在登录时只使用了 2 个字段(电子邮件和密码),我想在注册时令牌应该只由这 2 个字段组成...
这是有效的注册功能:
public function signUp()
{
$credentials = Input::all();
if (User::whereEmail($credentials['email'])->first()) {
return Response::json([
'error' => 'User with given e-mail already exists',
], 409);
} elseif (User::wherePhone($credentials['phone'])->first()) {
return Response::json([
'error' => 'User with given phone number already exists',
], 409);
} else {
$user = User::create($credentials);
$token = JWTAuth::fromUser($user);
return Response::json(compact('token'));
}
}
但是,如果我更改 $credentials = Input::only('email', 'password'),则不会创建完整用户(因为缺少字段)。
但即使我原样离开$credentials,并进行如下组合
$token = JWTAuth::fromUser(Input::only('email', 'password')) 或将电子邮件和密码解析为 JSON,或类似的东西...我收到“尝试获取非对象的属性”错误,或者给出了该数组而不是 JWTAuth 的对象...
【问题讨论】:
标签: php laravel authentication ionic-framework jwt