Задать вопрос

Перестала работать авторизация через вк, в чем может быть проблема?

Сайт drike.online
Позавчера перестала работать авторизация через вк, выдает ошибку: ErrorException in LoginController.php line 27:
Undefined index: response
В чем может быть проблема, может кто сталкивался?
Код с авторизацией:
<?php


namespace App\Http\Controllers;

use Auth;
use App\User;
use DB;
use Carbon\Carbon;
use App\Settings;
use Illuminate\Http\Request;

class LoginController extends Controller
{
    public function vklogin(Request $r)
    {
		$settings = Settings::where('id', 1)->first();
        $client_id = '*******';
        $client_secret = '********************';
        $redirect_uri = 'Drike.online';
        if (!is_null($r->code)) 
		{
			$obj = json_decode($this->curl('https://oauth.vk.com/access_token?v=5.95&client_id=' . $client_id . '&client_secret=' . $client_secret . '&redirect_uri=http://' . $redirect_uri . '/login&code=' . $r->code));
			if (isset($obj->access_token))
			{
				$info = json_decode($this->curl('https://api.vk.com/method/users.get?v=5.95&user_ids&fields=photo_200&access_token=' . $obj->access_token . '&v=5.95'), true);
				$user = User::where('login2', $info['response'][0]['uid'])->first();
				if($user == NULL) 
				{
					if(array_key_exists('photo_200', $info['response'][0]))
					{
						$photo = $info['response'][0]['photo_200'];
					}else
					{
						$photo = 'http://vk.com/images/camera_200.png';
					}
					if ($r->session()->has('ref')) {
						$has = DB::table('users')->where('ref_code', session('ref'))->first();
						if(!empty($has))
						{
							$ref_use = session('ref');
							$money = $settings->ref_sum;
						}
						else
						{
							$ref_use = NULL;
							$money = 0;
						}
					}
					else
					{
						$ref_use = NULL;
						$money = 0;
					}
					$user = User::create([
						'username' => $info['response'][0]['first_name'] . ' ' . $info['response'][0]['last_name'],
						'avatar' => $photo,
						'login' => 'id'.$info['response'][0]['uid'],
						'money' => $money,
						'login2' => $info['response'][0]['uid'],
						'ref_code' => $this->generate(),
						'ref_use' => $ref_use,
						'nick' => $this->generate_name()
					]);
					
				} 
				else 
				{
					if(array_key_exists('photo_200', $info['response'][0]))
					{
						$photo = $info['response'][0]['photo_200'];
					}
					else
					{
						$photo = 'http://vk.com/images/camera_200.png';
					}
					$user->username = $info['response'][0]['first_name'] . ' ' . $info['response'][0]['last_name'];
					$user->avatar = $photo;
					$user->login = 'id'.$info['response'][0]['uid'];
					$user->login2 = $info['response'][0]['uid'];
					$user->save();
				}
				Auth::login($user, true);
				return redirect('/');
			}
		} 
		else 
		{
			return redirect('https://oauth.vk.com/authorize?v=5.95&client_id=' . $client_id . '&display=page&redirect_uri=http://' . $redirect_uri . '/login&scope=friends,photos,status,offline,&response_type=code&v=5.95');
		}
	}

    public function logout()
    {
        Auth::logout();
        return redirect('/');
    }

    public function curl($url)
    {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        $output = curl_exec($ch);
        curl_close($ch);
        return $output;
    }

    public function generate_name()
    {
        $length = 8;
        $chars = 'abdefhiknrstyzABDEFGHKNQRSTYZ23456789';
        $numChars = strlen($chars);
        $string = '';
        for ($i = 0; $i < $length; $i++) {
            $string .= substr($chars, rand(1, $numChars) - 1, 1);
        }
        return $string;
    }

    public function generate()
    {
        $length = 13;
        $chars = 'abdefhiknrstyzABDEFGHKNQRSTYZ23456789';
        $numChars = strlen($chars);
        $string = '';
        for ($i = 0; $i < $length; $i++) {
            $string .= substr($chars, rand(1, $numChars) - 1, 1);
        }
        return $string;
    }
}
  • Вопрос задан
  • 343 просмотра
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы