Как изменить размер изображения в Google OAuth

#api #oauth

Вопрос:

Пожалуйста, помогите мне, как я могу изменить размер изображения по умолчанию при регистрации пользователей? Размер по умолчанию составляет 96 пикселей. нажмите на ссылку: https://lh3.googleusercontent.com/a-/AOh14Gg3ztJH4RBTQTVqTHVI057AphSVuFd2u0YnGTCB0g=s96-c

Вот мой код:

1.

 //login with google
public function login_with_google($g_user)
{
    if (!empty($g_user)) {
        $user = $this->get_user_by_email($g_user->email);
        //check if user registered
        if (empty($user)) {
            if (empty($g_user->name)) {
                $g_user->name = "user-" . uniqid();
            }
            $username = $this->generate_uniqe_username($g_user->name);
            $slug = $this->generate_uniqe_slug($username);
            //add user to database
            $data = array(
                'google_id' => $g_user->id,
                'email' => $g_user->email,
                'email_status' => 1,
                'token' => generate_unique_id(),
                'role' => "member",
                'username' => $username,
                'first_name' => $g_user->name,
                'slug' => $slug,
                'avatar' => $g_user->avatar,
                'user_type' => "google",
                'last_seen' => date('Y-m-d H:i:s'),
                'created_at' => date('Y-m-d H:i:s')
            );
            if ($this->general_settings->vendor_verification_system != 1) {
                $data['role'] = "vendor";
            }
            if (!empty($data['email'])) {
                $this->db->insert('users', $data);
                $user = $this->get_user_by_email($g_user->email);
                $this->login_direct($user);
            }
        } else {
            //login
            $this->login_direct($user);
        }
    }
}
 
 /**
 * Connect with Google
 */
public function connect_with_google()
{
    require_once APPPATH . "third_party/google/vendor/autoload.php";

    $provider = new LeagueOAuth2ClientProviderGoogle([
        'clientId' => $this->general_settings->google_client_id,
        'clientSecret' => $this->general_settings->google_client_secret,
        'redirectUri' => base_url() . 'connect-with-google',
    ]);

    if (!empty($_GET['error'])) {
        // Got an error, probably user denied access
        exit('Got error: ' . htmlspecialchars($_GET['error'], ENT_QUOTES, 'UTF-8'));
    } elseif (empty($_GET['code'])) {

        // If we don't have an authorization code then get one
        $authUrl = $provider->getAuthorizationUrl();
        $_SESSION['oauth2state'] = $provider->getState();
        $this->session->set_userdata('g_login_referrer', $this->agent->referrer());
        header('Location: ' . $authUrl);
        exit();

    } elseif (empty($_GET['state']) || ($_GET['state'] !== $_SESSION['oauth2state'])) {
        // State is invalid, possible CSRF attack in progress
        unset($_SESSION['oauth2state']);
        exit('Invalid state');
    } else {
        // Try to get an access token (using the authorization code grant)
        $token = $provider->getAccessToken('authorization_code', [
            'code' => $_GET['code']
        ]);
        // Optional: Now you have a token you can look up a users profile data
        try {
            // We got an access token, let's now get the owner details
            $user = $provider->getResourceOwner($token);

            $g_user = new stdClass();
            $g_user->id = $user->getId();
            $g_user->email = $user->getEmail();
            $g_user->name = $user->getName();
            $g_user->avatar = $user->getAvatar();

            $this->auth_model->login_with_google($g_user);

            if (!empty($this->session->userdata('g_login_referrer'))) {
                redirect($this->session->userdata('g_login_referrer'));
            } else {
                redirect(base_url());
            }

        } catch (Exception $e) {
            // Failed to get user details
            exit('Something went wrong: ' . $e->getMessage());
        }
    }
}
 
     /**
 * Get avatar image URL.
 *
 * @return string|null
 */
public function getAvatar()
{
    if (array_key_exists('picture', $this->response)) {
        return $this->response['picture'];
    }
    return null;
}
 

When registering a user via Google, the size of the profile photo is 96 pixels, you need to have a size of 500 pixels