public function register($code, $provider, $providerId, $email = '')
 {
     $data = ['email' => $email, 'token' => $code, 'api_key' => str_random(50), 'plan' => 0, 'provider_id' => $providerId, 'provider' => $provider];
     $user = User::create($data);
     \Slack::send('A new user has registered.');
     return $user;
 }
Example #2
0
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function handle()
 {
     $this->info('Begin API Key Migration');
     $users = User::all();
     foreach ($users as $key => $user) {
         $this->migrateUser($user);
     }
     $this->info("Migration completed");
 }
Example #3
0
 /**
  * Handle Response from Provider.
  *
  * @return Illuminate\Html\Redirect
  */
 public function handleProviderCallback()
 {
     $response = Socialize::with('github')->user();
     $user = User::where('provider_id', '=', $response->id)->first();
     if (!$user) {
         $userService = new RegisterUserService();
         $user = $userService->register($response->token, 'Github', $response->id, $response->getEmail());
     }
     Auth::login($user);
     return redirect('/dashboard');
 }
Example #4
0
 /**
  * Handle an incoming request.
  *
  * @param \Illuminate\Http\Request $request
  * @param \Closure                 $next
  *
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $key = $request->get('key');
     if (is_null($key)) {
         throw new Exception("No API Key specified.", 401);
     }
     if (!User::getUserByKey($key)) {
         throw new InvalidApiKeyException("Access denied.", 403);
     }
     return $next($request);
 }
Example #5
0
 /**
  * Handle an incoming request.
  *
  * @param \Illuminate\Http\Request $request
  * @param \Closure                 $next
  *
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $key = $request->get('key');
     if (is_null($key)) {
         return abort(401, 'No API Key specified.');
     }
     if (!User::getUserByKey($key)) {
         return abort(403, 'Access denied.');
     }
     return $next($request);
 }
Example #6
0
 /**
  * Create Screenshot.
  *
  * @return Illuminate\Http\Response
  */
 public function createScreenshot(Request $request)
 {
     $url = $request->get('url', 'http://screeenly.com');
     $user = $this->user->getUserByKey($request->get('key'));
     // Validate Input
     $validator = $this->app->make('Screeenly\\Screenshot\\ScreenshotValidator');
     $validator->validate($request->all());
     // Check if Host is available
     $checkHost = $this->app->make('Screeenly\\Services\\CheckHostService');
     $checkHost->ping($url);
     // Actually Capture the Screenshot
     $screenshot = $this->app->make('Screeenly\\Screenshot\\Screenshot');
     $filename = $screenshot->generateFilename();
     $screenshot->setStoragePath($filename);
     $screenshot->setHeight($request->get('height'));
     $screenshot->setWidth($request->get('width', 1024));
     $screenshot->capture($url);
     $log = $this->log->store($screenshot, $user);
     $this->setRateLimitHeader($request);
     $result = ['path' => $screenshot->assetPath, 'base64' => 'data:image/jpg;base64,' . $screenshot->bas64, 'base64_raw' => $screenshot->bas64];
     return $this->response->json($result, 201, $this->header);
 }
Example #7
0
 /**
  * Create a new user instance after a valid registration.
  *
  * @param array $data
  *
  * @return User
  */
 public function create(array $data)
 {
     return User::create(['name' => $data['name'], 'email' => $data['email'], 'password' => bcrypt($data['password'])]);
 }