/** * Shows the owner view. * * @return \Illuminate\View\View */ public function showAction($path) { $owner = Owner::findByPath($path); if ($owner->type == 'User') { $user = User::find($owner->user_id); return $this->showUser($user); } else { return $this->showGroup($owner); } }
public function callback($slug) { if (Input::has('code')) { $provider = Provider::where('slug', '=', $slug)->firstOrFail(); try { $extern_user = Socialite::with($slug)->user(); } catch (InvalidStateException $e) { return Redirect::to('/auth/login')->withErrors(['授权失效']); } //检查是否已经连接过 $identity = Identity::where('provider_id', '=', $provider->id)->where('extern_uid', '=', $extern_user->id)->first(); if (is_null($identity)) { Session::put('connect_data', ['provider_id' => $provider->id, 'extern_uid' => $extern_user->id, 'nickname' => $extern_user->nickname]); return Redirect::to('/auth/landing'); } //已经连接过,找出user_id, 直接登录 $user = User::find($identity->user_id); if (!Auth::check()) { Auth::login($user, true); //event(new UserWasLoggedinEvent($user)); } return Redirect::to('/')->withSuccess(sprintf('%s %s', trans('gitamin.awesome'), trans('gitamin.login.success_oauth', ['provider' => $provider->name]))); } }