【发布时间】:2018-01-27 05:51:10
【问题描述】:
我们的应用使用 OpenID Connect 通过 Google 对用户进行身份验证,然后尝试使用 Google 的 API 获取用户组织的名称,因为它在 Open ID Connect UserInfo 对象中不可用。代码如下:
JsonFactory jsonFactory = JacksonFactory.getDefaultInstance();
HttpTransport httpTransport = GoogleCredential credential = getCredentials(jsonFactory, httpTransport, connection.getDomainAdminEmail());
Directory directory = new Directory.Builder(httpTransport, jsonFactory, null).setApplicationName(APP_NAME).setHttpRequestInitializer(setHttpTimeout(credential)).build();
User user = directory.users().get(id).execute();
Object organizations = user.getOrganizations();
虽然返回了用户,但 organizations 的值为 null,即使该组织是在 Google Apps 管理控制台中定义的。如何获取经过身份验证的 Google 用户的公司名称?
【问题讨论】: