Как обнаружить, если электронная почта является учетной записью Google?

StackOverflow https://stackoverflow.com/questions/4263888

Вопрос

Я и некоторые парни здесь работают над стартом. В настоящее время мы используем API Google OpenID, чтобы управлять регистрацией и войти в наше приложение, но мы хотим мигрировать в более пропущенную модель регистрации пользователя. И для этого нам нужно знать, есть ли способ обнаружить, если электронная почта (не Gmail) уже является учетной записью Google. Есть ли способ получить эту информацию из Google Onio Sign-ap api?

Предыдущая спасибо за вашу помощь! :)

Это было полезно?

Решение

Ты не можешь это делать. Я не думаю, что Google может сказать вам, что без согласия пользователя.

Однако вы можете увидеть, если домен является доменом AA Google Apps, используя это как URL-адрес открытия:https://www.google.com/accounts/o8/site-xrds?hd=mail.moztw.org.

Отметил, что администратор домена может неправильно установить поддержку OpenID для домена. Мой слайд подробно обсудил это:http://www.slidehare.net/timdream/google-apps-account-as-openiD.

Другие советы

Если вы на Mac, откройте терминал и введите $ host {example.com} Чтобы определить, размещено ли их электронное письмо от Google.

Например:

$ host yelp.com
yelp.com has address 104.16.57.23
yelp.com has address 104.16.56.23
yelp.com mail is handled by 1 ASPMX.L.GOOGLE.com.
yelp.com mail is handled by 10 ASPMX2.GOOGLEMAIL.com.
yelp.com mail is handled by 10 ASPMX5.GOOGLEMAIL.com.
yelp.com mail is handled by 10 ASPMX3.GOOGLEMAIL.com.
yelp.com mail is handled by 5 ALT2.ASPMX.L.GOOGLE.com.
yelp.com mail is handled by 10 ASPMX4.GOOGLEMAIL.com.
yelp.com mail is handled by 5 ALT1.ASPMX.L.GOOGLE.com.

Это не полное решение, но вы можете сказать, если кто-то находится в Google Apps, глядя на записи MX домена. Ссылка в ответ не работала для меня, так что может быть лучшим решением.

Я делаю это, имея фиксированный файл, к которому я добавляю адрес электронной почты с помощью функции AddWiewer. Я делаю это в попытке ... поймать. Если ошибка поймана, я устанавливаю свой локальный флаг, чтобы сказать «не аккаунт Google». Если нет ошибок, я затем удаляю их в виде просмотра моего файла Bumyer и установите мой флаг, чтобы сказать, что адрес электронной почты - это учетная запись Google Legit.

Я разработал предложение Дуга, и это работает. Просто убедитесь, что (эффективный) пользователь, вызывающий функцию, имеет право называть AddPiewer. Трюк для достижения этого - убедиться, что рутина вызывается из триггерной рутины, поэтому владелец сценария является эффективным пользователем.

function checkIfGoogleAccount(emailAddress) {
  try {
    SpreadsheetApp.getActiveSpreadsheet().addViewer(emailAddress) ;
    SpreadsheetApp.getActiveSpreadsheet().removeViewer(emailAddress) ;
    return true ;
  }
  catch(err) {
    return false ;
  }
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top