Как настроить экрана запроса прав приложения в Google OAuth 2.0?

Ссылка скопирована
26 января 2026 1 ответ

Добрый день!
У меня следующая проблема:
Я сделал приложение, которое запрашивает ряд прав к аккаунту пользователя (аудит gmail, настройка пользователей домена и т.п). Аутентификация происходит через кнопку на сайте, запрос формируется на php.
И вроде бы все хорошо и работает стабильно. Но на экране запроса прав, мы видим такую картину:

Как настроить экрана запроса прав приложения в Google OAuth 2.0?

Как настроить экрана запроса прав приложения в Google OAuth 2.0?

А должно быть сразу так:

Как настроить экрана запроса прав приложения в Google OAuth 2.0?

То есть без мелких pop-up'ов. И без возможности выбора давать доступ или нет. Мы ставим пользователя перед фактом, что он даст все права, которые мы запрашиваем.
Кто знает, как это исправить?
Вот весь код, который формирует auth ссылку для авторизации пользователя

$client = new Google_Client(); $client->setAuthConfig($gsuite['json']); $client->setScopes($gsuite['scopes']); $client->setAccessType("offline"); $client->setRedirectUri($gsuite['dev_redirect']); $authUrl = $client->createAuthUrl(); header("Location: ".$authUrl);

$client = new Google_Client(); $client->setAuthConfig($gsuite['json']); $client->setScopes($gsuite['scopes']); $client->setAccessType("offline"); $client->setRedirectUri($gsuite['dev_redirect']); $authUrl = $client->createAuthUrl(); header("Location: ".$authUrl);

Дополнительно:

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Артём Dev Ответ

Для настройки запроса прав приложения в Google OAuth 2.0 необходимо следовать определенным шагам. Вот подробное руководство по этой процедуре:

1. Создайте проект в консоли разработчика Google (https://console.developers.google.com/).
2. Включите API, который вам нужен для вашего приложения. Например, если вы хотите использовать Google Drive API, включите его в разделе "API и сервисы".
3. Создайте учетные данные для вашего приложения. Выберите тип учетных данных "OAuth-клиенты", затем выберите тип приложения (например, веб-приложение или мобильное приложение).
4. Укажите доверенные URI перенаправления для вашего приложения. Это URL-адрес, на который пользователь будет перенаправлен после успешной аутентификации.
5. После создания учетных данных вы получите клиентский идентификатор и секретный ключ. Эти данные необходимы для отправки запросов на получение токена доступа.
6. Теперь вы можете создать запрос на получение авторизационного кода и токена доступа. Для этого используйте библиотеку, поддерживающую протокол OAuth 2.0, например, библиотеку Guzzle для PHP.

Пример кода на PHP для отправки запроса на получение токена доступа:

 $code,
    'client_id' => $client_id,
    'client_secret' => $client_secret,
    'redirect_uri' => $redirect_uri,
    'grant_type' => 'authorization_code'
);
 
$ch = curl_init('https://www.googleapis.com/oauth2/v4/token');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$response = curl_exec($ch);
curl_close($ch);
 
$result = json_decode($response, true);
$access_token = $result['access_token'];
?>

$code, 'client_id' => $client_id, 'client_secret' => $client_secret, 'redirect_uri' => $redirect_uri, 'grant_type' => 'authorization_code' ); $ch = curl_init('https://www.googleapis.com/oauth2/v4/token'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); $response = curl_exec($ch); curl_close($ch); $result = json_decode($response, true); $access_token = $result['access_token']; ?>

Этот код отправляет запрос на получение токена доступа с использованием авторизационного кода, клиентского идентификатора, секретного ключа и URI перенаправления. Полученный токен доступа можно использовать для доступа к защищенным ресурсам Google API.

Не забудьте обеспечить безопасность хранения клиентского идентификатора, секретного ключа и токена доступа, чтобы избежать утечки конфиденциальной информации.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно