Как проверить, является ли пользователь администратором своего домена Служб Google в App Engine?

1

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

Изменить: Я спрашиваю об этом, потому что мы можем определить ссылки для "настройки" и "управлять" в manifest. Я не думаю, что эти страницы в моем приложении должны быть доступны всем пользователям домена Google Apps, только администратором. И тогда я подумал, что мне просто нужно ограничить доступ к этим страницам, основываясь на том, кто является администратором домена.

  • 1
    Что вы имеете в виду "админ своего приложения"? Вы имеете в виду "администратор своего домена"?
  • 0
    Да. Исправляя это.
Теги:
google-app-engine
google-apps
oauth
openid

3 ответа

3
Лучший ответ

Вы можете взять своего администратора в свое приложение через необязательный шаг3 процесса установки с рынка, где вы могли бы вручную запросить у пользователя ( s) они хотят посвятить права администратора в вашем приложении.

  • 0
    Следуя этой идее, я должен предположить, что первым пользователем, который получит доступ к странице «настройки», будет администратор. Это немного грубо, потому что пользователь не вынужден завершить этот шаг. Это означает, что администратор может пропустить текст с просьбой завершить шаг, и тогда любой пользователь сможет сделать это и получить контроль над приложением.
  • 0
    Забудь что я сказал. Я только что попробовал, и администратор требуется для его настройки. Вот и все. Благодарю.
2

Вероятно, вы могли бы использовать Provisioning API для retrieve учетной записи пользователя. В response вы могли бы узнать, является ли пользователь администратором или нет:

 <apps:login userName="JoeBloggs" suspended="false" admin="false"
    changePasswordAtNextLogin="false" agreedToTerms="true"/>

[edit] Я вижу, вы можете использовать gdata-python-client library, чтобы вызвать функцию RetrieveUser, чтобы сделать вещи еще проще.

  • 0
    Это подразумевает, что приложение OP должно будет запросить доступ ProvisioningAPI в манифесте. Это может быть довольно резким скачком, прося пользователей вашего приложения предоставить вам доступ к одному из самых мощных API, доступных только для проверки, являются ли они администратором.
  • 0
    Кроме того, если домен Google Apps не является платным, я бы даже не смог использовать API Provisioning на их домене, верно?
Показать ещё 3 комментария
0

Вы пробовали users.is_current_user_admin()?

  • 1
    О, это не сработает. users.is_current_user_admin() проверяет администратора App Engine (меня!), но я хочу знать, является ли пользователь, установивший мое приложение, администратором своего домена Служб Google.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню