Ejemplo n.º 1
0
 public function submitOTP(Request $request)
 {
     //get mobile number from user input
     $mobileNum = $request->input('mobile');
     //get user type from user input
     $userType = $request->input('userType');
     //set user email
     $userEmail = '*****@*****.**';
     //set country code
     $countryCode = 61;
     //initial authentication API
     // $authy_api = new AuthyApi(config('services.authy.key'));
     $authy_api = new AuthyApi(config('services.authy.key'), 'http://sandbox-api.authy.com');
     //sandbox
     //register a user through email, cellphone, country_code
     $user = $authy_api->registerUser($userEmail, $mobileNum, $countryCode);
     //generate authentication token and send it to usser
     $sms = $authy_api->requestSms($user->id(), array("force" => "true"));
     if ($sms->ok()) {
         //check user exist or not
         $results = Client::where('mobile', $mobileNum)->first();
         //if user does not exist, register of him
         if (empty($results)) {
             $newUser = new Client();
             $newUser->mobile = $mobileNum;
             $newUser->save();
         }
         return view('auth.otp')->with('userid', $user->id())->with('mobileNum', $mobileNum)->with('userType', $userType);
     } else {
         //session()->put('message','incorrect mobile number');
         return redirect('login')->with('message', 'Please input correct mobile number');
     }
 }
Ejemplo n.º 2
0
 public function register_authy()
 {
     $authy_api = new AuthyApi(getenv('AUTHY_TOKEN'));
     $user = $authy_api->registerUser($this->email, $this->phone_number, $this->country_code);
     //email, cellphone, country_code
     if ($user->ok()) {
         $this->authy_id = $user->id();
         $this->save();
         return true;
     } else {
         // something went wrong
         return false;
     }
 }
 public function store(Request $request)
 {
     $authy = new AuthyApi(env('AUTHY_KEY', null), env('AUTHY_URL'));
     $login = $request->user();
     try {
         $user = $authy->registerUser($login->email, $login->phone, $login->country_code);
     } catch (\Exception $e) {
         return redirect('/two_authenticate');
     }
     if (!$user->ok()) {
         return redirect('/two_authenticate');
     }
     try {
         if ($authy->verifyToken($user->id(), $request->token)) {
             $login->two_authenticate_until = Carbon::now()->addDays(5);
             $login->save();
         }
         return redirect('/');
     } catch (\Exception $e) {
     }
     return redirect('/two_authenticate');
 }
 /**
  * Store a new user
  *
  * @param  \Illuminate\Http\Request $request
  * @return \Illuminate\Http\Response
  */
 public function createNewUser(Request $request, AuthyApi $authyApi)
 {
     $this->validate($request, ['name' => 'required|string', 'email' => 'required|unique:users|email', 'password' => 'required', 'country_code' => 'required', 'phone_number' => 'required|numeric']);
     $values = $request->all();
     $values['password'] = Hash::make($values['password']);
     DB::beginTransaction();
     $newUser = new User($values);
     $newUser->save();
     Auth::login($newUser);
     $authyUser = $authyApi->registerUser($newUser->email, $newUser->phone_number, $newUser->country_code);
     if ($authyUser->ok()) {
         $newUser->authy_id = $authyUser->id();
         $newUser->save();
         $request->session()->flash('status', "User created successfully");
         $sms = $authyApi->requestSms($newUser->authy_id);
         DB::commit();
         return redirect()->route('user-show-verify');
     } else {
         $errors = $this->getAuthyErrors($authyUser->errors());
         DB::rollback();
         return view('newUser', ['errors' => new MessageBag($errors)]);
     }
 }
Ejemplo n.º 5
0
 /**
  * Registers a new authy user
  *
  * @return void
  **/
 private function register()
 {
     $authy = new AuthyApi($this->params->get('key'));
     // Gather and validate inputs
     $email = Request::getVar('email', null);
     $phone = Request::getVar('phone', null);
     $cc = Request::getInt('country_code', 1);
     if (!Validate::email($email) || !Validate::phone($phone)) {
         Notify::error("Invalid email or phone provided. Please try again");
         App::redirect(Request::current());
     }
     // Register the user
     $user = $authy->registerUser($email, $phone, $cc);
     // If everything checks out, we store the user id in the database
     if ($user->ok()) {
         // Store factor domain id in the database
         Factor::oneOrNew(0)->set(['user_id' => User::get('id'), 'domain' => 'authy', 'factor_id' => $user->id(), 'data' => json_encode(['email' => $email, 'phone' => $phone, 'country_code' => $cc])])->save();
     } else {
         // Return errors
         foreach ($user->errors() as $field => $message) {
             Notify::error("{$field}: {$message}");
         }
     }
     // Redirect for verification process to occur
     App::redirect(Request::current());
 }