当前位置: 首页 > 知识库问答 >
问题:

面向非管理员用户的google admin SDK

季俭
2023-03-14
    null

null

JsonFactory JSON_FACTORY = JacksonFactory.getDefaultInstance();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();

ArrayList<String> scopeList = new ArrayList<>();
scopeList.add(DirectoryScopes.ADMIN_DIRECTORY_USER_READONLY);
GoogleCredential credential = new GoogleCredential.Builder()
          .setTransport(httpTransport)
          .setJsonFactory(JSON_FACTORY)
          .setServiceAccountId("bla-bla@developer.gserviceaccount.com")
          .setServiceAccountScopes(scopeList)
          .setServiceAccountPrivateKeyFromP12File(new File("p12 file")))
          .setServiceAccountUser("superadmin@my-domain.com")
          .build();

credential.setAccessToken("access token of current google user");

Directory admin = new Directory.Builder(httpTransport, JSON_FACTORY, credential)
          .setApplicationName("Capsidea")
          .setHttpRequestInitializer(credential).build();
return admin.users().list().setDomain("my-domain.com").execute();

当我通过superadmin@my-domain.com通过OAuth登录谷歌时,所有这些都能正常工作。但当我通过some-user-non-admin@my-domain.com登录时,出现错误:“不授权访问此资源/API”

非管理员用户可以获得域中所有用户的列表吗?当域更改时,如果需要指定superadmin'a,则此代码将工作?有什么想法吗?

共有1个答案

洪高扬
2023-03-14

null

一定要说明这样一个用户是您的代码工作所必需的。

 类似资料:
  • 我们提供了一个用于模型管理和策略管理的门户网站 Casdoor 还有第三方门户管理项目,使用Casbin作为授权引擎。 您可以基于这些项目建立您自己的 Cabin 服务。GoJavaNode.jsPythonPHP 项目 作者 前端 后端 说明 Casdoor Casbin React + Ant Design Beego 基于 Beego + XORM + React go-admin-team

  • 问题内容: 我正在尝试获取Django Admin界面来显示有关我的个人资料的信息。它显示我的所有用户,但不显示个人资料信息。我不太确定如何使它正常工作。 我在Google快速搜索后找到了以下代码: 但是,我认为它没有用。当我登录到管理页面时,我看到“用户”,“组”和“站点”。我单击用户,然后看到所有用户的列表,但没有任何个人资料的迹象。单击某个用户会显示有关该用户的信息,但仍然没有个人资料信息。

  • 问题内容: 我有一个Django应用。当以管理员用户身份登录时,我希望能够在URL中传递一个秘密参数,并使整个网站的行为就像我是另一个用户一样。 假设我有显示当前登录用户个人资料的URL 。我希望能够做类似的事情,并使基础视图相信我实际上是ID 123的用户(因此呈现 该 用户的个人资料)。 我为什么要那样? 仅仅因为重现仅出现在单个用户帐户中的某些错误要容易得多。 我的问题: 实现这样的最简单的

  • 最近从Laravel 6升级到Laravel 7,我遇到的问题是,当我使用url /admin它应该重定向到管理员登录页面这也适用于管理员限制页面,如果用户没有登录。我不确定是否需要更改web.php文件或登录控制器中的路由。 登录控制器

  • 我正在为我的考试创建一个Java项目。该项目要求我使用面向对象编程来做一个类似groupon的程序。它要求我实现一个销售打折产品的程序。我有假期,有饭局,有正常对象。我决定创建一个超类产品,然后扩展它,创建其他三个类,晚餐、假日和对象。但是它还要求我管理产品目录,让每个产品都有一个唯一的标识符,我该怎么做呢?即使我创建了一个Catalog类,用一个ArrayList管理产品,我怎么能给每个元素添加

  • 一、简介 添加和管理管理员。 二、功能演示 1.添加管理员 2,管理管理员 对不需要或过期的管理员进行编辑和删除操作。如下图所示: