API Google – разрешить соединения только с доменом Google Apps

Возможно ли разрешить клиенту подключаться к API ТОЛЬКО с адресом электронной почты домена Google? Пользователи часто имеют свою собственную сессию gmail, и нам нужно убедиться, что они могут подключаться только к api, используя нашу электронную почту домена Google Apps.

На данный момент единственным решением является то, что мы отключаем их, когда они возвращаются с шагов auth, если их адрес электронной почты не содержит нашего домена, с сообщением об ошибке, в котором говорится, что им необходимо повторить шаги, используя свой адрес электронной почты [domain] .com, который намного меньше идеала. Можно ли указать домен где-нибудь в области или консоли api?

[Клиент PHP API Google]

Я нашел хакерское решение, кратко описывающее тех, кому может быть что-то похожее:

Если вы добавите параметр login_hint с адресом электронной почты (в этом случае с учетной записью Google Apps с нашим собственным доменом), он обходит начальную страницу входа в систему и, если любые другие сеансы Google доступны, также обходит их. Я не нашел такого поведения, описанного в документации, и не нашел возможности добавить этот параметр в google-api-php-client . Я добавил метод в файл Google_Client.php, чтобы добавить возможность добавить параметр login_hint:

public function setLoginHint($loginHint) { global $apiConfig; $apiConfig['login_hint'] = $loginHint; self::$auth->login_hint = $loginHint; } 

И параметр метода аутентификации в Google_Oauth2.php:

  $request = Google_Client::$io->makeRequest(new Google_HttpRequest(self::OAUTH2_TOKEN_URI, 'POST', array(), array( 'code' => $code, 'grant_type' => 'authorization_code', 'redirect_uri' => $this->redirectUri, 'client_id' => $this->clientId, 'client_secret' => $this->clientSecret, 'login_hint' => $this->loginHint ))); 

Затем я могу вызвать метод, используя адрес электронной почты пользователя Google Apps во время аутентификации:

 $client->setLoginHint("user@mydomain.com") 

Если бы что-то было встроено в то, что я не нашел в документах или поисках, пожалуйста, дайте мне знать. Кстати, я думал, что ребята Google API следили за SO за такие вопросы, как эхо-эхо …