$client_id = 'XXXXXXXXXXXXXXXXXXXXXXX'; // Id приложения
$client_secret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'; // Пароль приложения
$redirect_uri = 'https://seolik.ru/social_login_callback/yandex.php'; // Callback URI



if (isset($_GET['code'])) {
    $result = false;

    $params = array(
        'grant_type'    => 'authorization_code',
        'code'          => $_GET['code'],
        'client_id'     => $client_id,
        'client_secret' => $client_secret
    );

    $url = 'https://oauth.yandex.ru/token';

    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, urldecode(http_build_query($params)));
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    $result = curl_exec($curl);
    curl_close($curl);

    $tokenInfo = json_decode($result, true);

    if (isset($tokenInfo['access_token'])) {
        $params = array(
            'format'       => 'json',
            'oauth_token'  => $tokenInfo['access_token']
        );

        $userInfo = json_decode(file_get_contents('https://login.yandex.ru/info' . '?' . urldecode(http_build_query($params))), true);
        if (isset($userInfo['id'])) {
            $userInfo = $userInfo;
            $result = true;
        }
    }
	
$email = $userInfo['default_email']; // тут e-mail юзера


/*	допольнительные данные которые так же можно получать в ответ от Яндекса
    echo "Социальный ID пользователя: " . $userInfo['id'];
    echo "Имя пользователя: " . $userInfo['real_name'];
    echo "Email: " . $userInfo['default_email'];
    echo "Пол пользователя: " . $userInfo['sex'];
    echo "День Рождения: " . $userInfo['birthday'];

*/

}