2016-12-19 7 views
0

Я хочу использовать определенные области, требуемые Directory API во время OAuth для всех аккаунтов Google, добавленных в мою службу. Однако некоторые из этих областей не подходят для бесплатных учетных записей Gmail.Как выборочно добавлять области для учетных записей Google Apps

Теперь одним из вариантов будет отдельный поток в нашем сервисе, так что мы сделаем очевидным для пользователя, что Google Apps и Gmail отличаются. Но из предыдущего опыта я видел, что довольно много пользователей недостаточно разбираются в различиях между этими двумя и просто продолжают использовать поток Gmail в любом случае, и эти пользователи в конечном итоге теряют возможности, которые мы могли бы предоставить, если бы он/она отправилась на поток Google Apps.

Я бы предпочел избежать этого и сделать вещи максимально простыми для пользователя. С этой целью я могу указать «: этот объем, если это учетная запись Google Apps«, во время самой первой ноги?

+0

1. Я не уверен, что есть способ выяснить, есть ли учетная запись приложений после аутентификации пользователя. 2. Если вы можете, тогда есть способ запросить дополнительные области, как только вы пройдете проверку подлинности. 3. Возможно, но не знаю, как у вас есть ваш код https://developers.google.com/identity/sign-in/web/incremental-auth – DaImTo

ответ

1

Скажите, что вы хотите использовать область https://www.googleapis.com/auth/admin.directory.orgunit.

Даже если вы включили эту область действия для авторизации пользователем, вы не получите никаких ошибок во время потока, независимо от того, являются ли они бесплатной учетной записью gmail или администратором без G Suite. Только если вы вызываете API, для которого требуется область admin.directory.orgunit как администратор не G Suite, вы получите сообщение об ошибке.

Если вы обеспокоены тем, что ваши пользователи могут быть отстранены от использования вашего приложения, если вы запрашиваете слишком много областей, вы можете request additional scopes, когда возникнет такая необходимость.

If you want to detect if a user is a free gmail or a G Suite account check out this answer. После этого вы можете запросить дополнительные области, если это учетная запись G Suite.

+0

Я понимаю, что добавление областей каталога не приведет к каким-либо ошибкам, но бесплатный Gmail пользователи также получат это разрешение на экране согласия OAuth, которого я хотел избежать. Идея запроса дополнительных областей после обнаружения, если он размещен в домене, звучит как план :) –