validate($request, $this->rules(), $this->validationErrorMessages()); $request = Request::create('/oauth/token', 'POST', [ 'grant_type' => 'password', 'client_id' => config('services.vue_client.id'), 'client_secret' => config('services.vue_client.secret'), 'username' => $request->cell_number, 'password' => $request->password, ]); return app()->handle($request); // $user = User::where('cell_number', $request->cell_number)->first(); // if ($user && \Hash::check($request->password, $user->password)) { // $token = $user->createToken('Laravel password Grant Client')->accessToken; // $response = ['token' => $token]; // return response()->json($response, 200); // } else { // return response()->json(trans('auth.failed'), 422); // } } public function logout(Request $request) { $value = $request->bearerToken(); $id = (new Parser())->parse($value)->getHeader('jti'); $token = $request->user()->tokens->find($id); $token->revoke(); return response()->json(trans('auth.logout_success'), 200); } /** * Register api * * @return \Illuminate\Http\Response */ public function register(Request $request) { $validator = Validator::make($request->all(), [ 'name' => 'required|string|max:255', 'medical_center_id' => 'required', 'email' => 'email|max:255|unique:users', 'cell_number' => 'required|digits_between:10,11|unique:users', 'password' => 'required|string|min:6|confirmed', ]); if ($validator->fails()) { return response()->json(['error' => $validator->errors()], 401); } $input = $request->all(); $input['password'] = bcrypt($input['password']); $input['status'] = 'Registered'; $user = User::create($input); $this->phone_confirmation($user); $success['token'] = $user->createToken('MyApp')->accessToken; $success['name'] = $user->name; return response()->json(['success' => $success], 200); } public function resetCode(Request $request) { $user = User::where('cell_number', $request->cell_number)->where('verified', 0)->first(); if ($user) { $this->phone_confirmation($user); return response()->json(['success' => true], 200); } return response()->json(['success' => false], 403); } public function sendLinkEmail(Request $request) { return response()->json(app('App\Http\Controllers\Auth\ForgotPasswordController')->sendResetLinkEmail($request)); } }