У меня есть приложение GWT, где пользователи могут войти в систему с помощью своей учетной записи Google Apps (OpenID Login). Теперь я хочу узнать, является ли пользователь, вошедший в систему, администратором этого домена.
Это уже работает со следующим кодом:
private boolean isAdmin (String username) {
boolean ret= false;
if (username.indexOf ("@") > 0) username= username.substring (0, username
.indexOf ("@"));
AppsForYourDomainClient client= null;
try {
client= new AppsForYourDomainClient ("admin@orgapage.de", "password",
"orgapage.de");
UserEntry user= client.retrieveUser (username);
if (user.getLogin ().getAdmin ().equals (Boolean.TRUE)) ret= true;
else ret= false;
}
catch (Exception ex2) {
log.severe (ex2.getMessage ());
ex2.printStackTrace ();
}
return ret;
}
Проблема в том, что мне нужно ввести имя пользователя и пароль администратора этого домена, чтобы проверить текущего пользователя, вошедшего в систему.
Есть ли способ сделать это без необходимости знать пароль администратора? Может быть с OAuth?
Единственный способ восстановить статус администратора, как я обнаружил, это приведенный выше. Вот документация этого:
http://code.google.com/googleapps/domain/gdata_provisioning_api_v2.0_reference_java.html#Retrieve_Account_Example