pingcode logo
功能日记

v4.59.0:支持 OAuth 2.0 认证


更新时间:2022年12月26日

更新内容

  1. 新增 OAuth 2.0 认证方式
  2. 支持设置成员访问资源
  3. 产品细节优化

新增 OAuth 2.0 认证方式

目录服务支持集成 OAuth 2.0 认证方式,目前很多授权服务商都支持 OAuth 2.0 认证协议,如 GitLab 、GitHub 、Authing 等。本次介绍以 GitLab 为例说明如何通过 OAuth 2.0 认证完成单点登录访问 PingCode。

OAuth 2.0 配置入口

团队购买目录服务产品后,在目录服务点击「OAuth 2.0」进入具体的配置页面:

image.png

OAuth 2.0 配置步骤

第一步配置基本信息,支持用户自定义登录图标,通过「点击上传」按钮可以上传一张图片作为当前团队通过 OAuth 2.0 认证登录时的图标,如果不设置将使用默认图标:

image.png

在 OAuth2.0 服务器注册客户端,填写 Client ID 和 Client Secret,这里以 GitLab 为例示范如何填写,以管理员身份登录团队的 GitLab 帐户,在右上角个人头像,点击「偏好设置」:

image.png

进入用户设置页面后点击「应用」,将从目录服务复制过来的“重定向 URL ”填入 “Redirect URL”内,完成后点击「保存应用」

(注:若想使用邮箱等其他认证方式登录,需在下方范围内勾选 email 等属性字段):

image.png

点击下方已创建好的应用,进入应用详情:

image.png

复制「应用程序ID」、「密码」:

image.png

将复制内容粘贴到目录服务的 Client ID 、Client Secret 信息中,点击「下一步」:

image.png

第二步配置单点登录,打开 GitLab 官方 API 文档:https://docs.gitlab.com/ee/api/oauth2.html ,找到 OAuth2.0 服务器单点登录地址、获取 AccessToken 的 API 和根据 AccessToken 获取用户信息的 API (注:需将 gitlab.example.com 替换成授权服务器的域名):

image.png
image.png

在目录服务填入 OAuth2.0 服务器单点登录地址、获取 AccessToken 的 API 和根据 AccessToken 获取用户信息的 API 后点击下一步:

image.png

第三步配置登录关联的 OAuth2.0 属性及选择帐号关联方式,支持选择邮箱、手机号、用户名、工号等不同信息进行匹配:

  • 选择邮箱时:将关联的 OAuth2.0 属性的值与 PingCode 系统帐号的邮箱进行匹配,匹配成功后即可直接登录进入 PingCode;
  • 选择手机号:将关联的 OAuth2.0 属性的值与 PingCode 系统帐号的手机号进行匹配,匹配成功后即可直接登录进入 PingCode;
  • 选择用户名:将关联的 OAuth2.0 属性的值与 PingCode 系统帐号的用户名进行匹配,匹配成功后即可直接登录进入 PingCode;
  • 选择工号:将关联的 OAuth2.0 属性的值与 PingCode 系统帐号的工号进行匹配,匹配成功后即可直接登录进入 PingCode;
image.png

点击「完成」按钮,返回目录服务列表,团队已配置 OAuth2.0 认证:

image.png

通过 OAuth 2.0 登录

在登录时选择第三方帐号登录,点击「OAuth2.0」的登录图标:

image.png

跳转至 GitLab 的登录页面,输入帐号密码进行登录:

image.png

如果当前 GitLab 帐号可以匹配到对应的 PingCode 帐号,则提示登录成功跳转回 PingCode 系统:

image.png

支持设置成员访问资源

在「管理后台」→「成员」→「成员管理」下勾选成员,点击「设置访问资源」:

image.png

打开「设置访问资源」弹窗,可分模块下拉选择需要将成员加入的资源,点击「确定」即可设置成功:

image.png

设置成功后可在所选择资源的成员列表内查看到已加入的成员:

image.png

同时也支持设置单个成员,点击成员「更多」→「设置访问资源」进行设置:

image.png

产品细节优化

在「成员管理」下,点击「添加成员」,左侧可切换单个添加、快速添加、邮箱邀请、链接邀请四种方式:

image.png

「邮箱邀请」支持批量输入,批量输入可使用空格或回车来分隔邮箱:

image.png

在「邮箱邀请」→「邀请记录」下,支持查看邮箱邀请记录,未加入且邀请链接未失效的,支持「复制链接」,未加入且邀请链接已失效的,支持「重发邀请」:

image.png

在「链接邀请」→「邀请记录」下,可查看通过链接邀请已加入的成员列表:

image.png

企业微信支持工号对接,在企业微信目录服务配置「自定义用户属性配置」中填入自定义属性名称,如”工号“,配置完成后,可同步工号信息至 PingCode :

image.png

在「团队管理」下,选中团队点击「删除」时,需要对团队关联的数据进行转移,选择需要转移的资源接收方,点击「确定」即可转移成功:

image.png

转移成功后可在资源列表查看已转移后的数据:

image.png

在「角色维护」→「新建角色」,支持选择角色头像,点击「确定」后即可查看该角色头像:

image.png

同时在产品管理模块配置中心→「权限配置」下,点击「添加角色」,也可查看角色头像,并支持按角色名称搜索:

image.png