public function login(Request $request)
  {
    $hidden = $this->hidden;
    $request->rules = $this->rules();
    $provider = $this->provider;

    $user = $request->validate(function($response) use ($request, $hidden, $provider) {
      return Auth::attempt($request->all(), $hidden, $provider);
    });

    if (Auth::provider($provider)->login($user)->status == 'success') {
      Redirect::to($this->redirectPath(), 200);
    }
  }