/** * Create Email and Password Account. */ public function signup(Request $request) { $validator = Validator::make($request->all(), ['displayName' => 'required', 'email' => 'required|email|unique:users,email', 'password' => 'required']); if ($validator->fails()) { return response()->json(['message' => $validator->messages()], 400); } $img = DefaultProfileImage::create($request->input('displayName')); $imageName = uniqid(); $imgFile = public_path('uploads') . "/" . $imageName . '.png'; $image = Image::make($img->encode()); $image->save($imgFile, 100); $user = new User(); $user->displayName = $request->input('displayName'); $user->email = $request->input('email'); $user->password = Hash::make($request->input('password')); $user->image = $imageName . '.png'; $user->activation_code = $random_hash = md5(uniqid(rand(), true)); $user->save(); $role = Role::where('name', 'user')->first(); $user->roles()->attach($role); $user_arr = $user->toArray(); Mail::send("emails.welcome", $user_arr, function ($message) use($user_arr) { $message->from('*****@*****.**', "Site Name"); $message->subject('Welcome to site name'); $message->to($user_arr['email']); }); //return response()->json(['token' => $this->createToken($user)]); return response()->json(["message" => "User created. We send a confirmation email. Check your email account.", 'token' => $this->createToken($user)]); }