ユーザーがサインアップするときに電子メールをオプションで作成しようとしています。ここにはpackageがあります。だから私は、この機能でemail' => 'required|email|unique:users',
を削除:Laravelで電子メールなしでユーザーを認証する
public function signup(Request $request)
{
$credentials = $request->all();
$validator = Validator::make($credentials, [
'name' => 'required',
'email' => 'required|email|unique:users',
'password' => 'required|min:6|confirmed',
'password_confirmation' => 'required|min:3'
]);
if ($validator->fails()) {
throw new ValidationHttpException($validator->errors()->all());
}
try {
$user = $this->users->create($request->except('roles', 'permissions'));
if (!$user->id) {
return $this->response->error('could_not_create_user', 500);
}
$hasToReleaseToken = Config::get('boilerplate.signup_token_release');
if ($hasToReleaseToken) {
return $this->login($request);
}
return $this->response->created();
} catch (\Exception $e) {
return $this->response->error($e->getMessage(), 500);
}
}
は、コンフィグ-boilerplate.phpに私はまた、電子メールを削除:
'signup_fields_rules' => [
'name' => 'required',
'email' => 'required|email|unique:users',///// this
'password' => 'required|min:6'
],
しかし、私はサインアップするとき、私はこのエラーを取得:
"message": "未定義インデックス:email"、 "status_code":500、 "debug":{ "line":173、 "ファイル": "/ Users/MyMac /Desktop/Project/laravel-5.3-boilerplate-api-jwt-vue2/vendor/dingo/api/src/Http/Response/Factory.php」、 "クラス": "のSymfony \コンポーネント\ HttpKernel \例外\ HttpException" 、
ルート:
$api = app('Dingo\Api\Routing\Router');
$api->version('v1', function ($api) {
$api->post('auth/signup', 'App\Api\V1\Controllers\[email protected]');
は、私は、ユーザーがサインアップメールの有無にかかわらずできるように無効にする必要はありますか?
?基本的には、登録プロセスの後に、どのように認証する予定ですか? – kyle
あなたSignupControllerがhttps://github.com/francescomalatesta/laravel-api-boilerplate-jwt/blob/master/app/Api/V1/Controllers/異なる – leo0019
@kyle私はすでに電話番号にログイン方法を作成しましたSignUpController.php –