示例#1
0
 public function accessTokenByCode(Request $request, $code)
 {
     $appId = \Config::get('vk_app.appId');
     $appSecret = \Config::get('vk_app.appSecret');
     $vk = new VK($appId, $appSecret);
     try {
         $getAccessToken = $vk->getAccessToken($code, 'https://oauth.vk.com/blank.html');
         $accessToken = $getAccessToken['access_token'];
     } catch (VKException $e) {
         $accessToken = 'error!';
     }
     return view('oauth.accessToken', ['accessToken' => $accessToken]);
 }
示例#2
0
 /**
  * @param $callbackUrl
  * @return mixed
  */
 public function setAccessToken($callbackUrl)
 {
     if (Request::input('code')) {
         if (Session::has('vk.access_token')) {
             $this->accessToken = $this->getAccessToken();
         } else {
             $this->accessToken = $this->vk->getAccessToken(Request::input('code'), $callbackUrl);
             if ($this->getAccessToken()) {
                 Session::put('vk.access_token', $this->accessToken);
             }
         }
     } elseif ($this->getAccessToken()) {
         $this->accessToken = $this->getAccessToken();
     }
 }
 public function login(UserRepository $userRepo, Guard $auth)
 {
     $vk = new vk(env('VK_CLIENT_ID'), env('VK_CLIENT_SECRET'));
     try {
         $access_token = $vk->getAccessToken($_REQUEST['code'], env('VK_REDIRECT'));
         $data = $vk->api('users.get', ['uids' => $access_token['user_id'], 'fields' => 'first_name,last_name,photo_big,status,screen_name']);
         $user = $userRepo->findOrCreate($data['response'][0]);
     } catch (VKException $e) {
         Flash::error(trans('exceptions.auth.vk_exception'));
         return redirect($this->default_redirect);
     }
     $this->auth->login($user, true);
     if (!Session::has('user')) {
         Session::set('user', $user);
     }
     if (url()->previous() && strpos(url()->previous(), url('/')) !== false && url()->previous() != route('auth')) {
         return redirect(url()->previous());
     }
     return redirect($this->default_redirect);
 }