跳到主内容

Google Workspace 同步器

Google Workspace同步器使用Google Admin SDK目录API,将Google Workspace(原G Suite)中的用户导入Casdoor。

先决条件

在配置同步器之前,使用域级委派并启用Admin SDK,设置一个Google Cloud服务账号。

步骤 1:创建服务账号

导航至Google Cloud控制台并创建一个服务账号:

  1. 转到IAM与管理员服务账号创建服务账号
  2. 为服务账号输入名称和描述
  3. 点击创建并继续
  4. 为服务账号授予服务账号用户角色(可选)
  5. 点击完成

步骤2:生成服务账号密钥

创建服务账号后,生成一个JSON密钥:

  1. 单击您刚刚创建的服务账号
  2. 转到密钥选项卡
  3. 点击添加密钥创建新密钥
  4. 选择JSON格式
  5. 单击创建并安全地保存下载的JSON文件

步骤3:启用Admin SDK API

为您的Google Cloud项目启用Admin SDK API:

  1. 前往API与服务
  2. 搜索“Admin SDK API”
  3. 点击它并点击启用

步骤4:配置域级委派

在 Google Workspace 管理员中设置全域委派:

  1. 在服务帐号详情中,复制客户端 ID
  2. 前往 Google Workspace 管理控制台
  3. 导航至安全访问与数据控制API 控制
  4. 单击管理域级委派
  5. 点击添加新项
  6. 粘贴服务帐号客户端 ID
  7. 添加 OAuth 范围:https://www.googleapis.com/auth/admin.directory.user.readonly
  8. 点击授权
提示

admin.directory.user.readonly范围允许同步器以只读模式读取您Google Workspace域中的用户个人资料。

配置

要在Casdoor中创建Google Workspace同步器:

  1. 导航至同步器选项卡
  2. 点击添加以创建新的同步器
  3. 填写以下必填字段:
字段描述
组织将导入用户的Casdoor组织
姓名此同步器的唯一标识符
类型选择“Google Workspace”
管理员邮箱Google Workspace 管理员用户的电子邮件地址(例如:admin@yourdomain.com
服务账号密钥粘贴服务账号密钥文件的完整JSON内容

对于Google Workspace同步器,数据库相关字段(数据库类型、端口、数据库、表)请留空。

字段映射

同步器会自动将Google Workspace用户属性映射到Casdoor用户字段:

Google Workspace字段Casdoor字段描述
idId用户的唯一标识符
primaryEmailEmail主电子邮件地址
name.fullNameName全名
name.givenNameFirstName
name.familyNameLastName
phones[0].valuePhone主电话号码
isAdminIsAdmin管理员状态
suspendedIsForbidden账户暂停状态
信息

Google Workspace 的 suspended: true 映射到 Casdoor 的 IsForbidden: true

组同步

Google Workspace 同步器还可以将组及其成员关系同步到 Casdoor。 组同步会与用户同步自动运行——无需单独配置步骤。

要启用群组同步,服务帐号需要在 Google Workspace 管理控制台中获得额外的 OAuth 范围授权:

https://www.googleapis.com/auth/admin.directory.group.readonly

<b请以与用户范围相同的方式,在“管理域级委派”下添加此范围。 一旦获得授权,同步器将从域中获取所有组,并为相应的Casdoor用户分配成员资格。

运行同步器

  1. 单击测试连接以验证凭据和权限
  2. 切换已启用并单击同步以立即运行。
  3. 同步器会从域中获取所有用户和组,并自动处理分页。