通过钉钉提供的登录能力,可以让 CNB(CloudNativeBuild) 在浏览器内打开时,引导成员使用钉钉登录授权,从而获取成员的身份信息
在进行钉钉授权登录之前,需要先在钉钉的管理端后台创建一个钉钉应用(见 实现网页方式登录应用(登录第三方网站))。
按照文档种的步骤一到步骤四,依次完成以下操作:
cnb 对接钉钉的 Oauth 授权流程,需要一个自建应用服务来处理 cnb 跟 钉钉之间的数据格式转换,自建应用服务实现了以下接口:
kubectl apply -f deployment.yaml -n cnb kubectl apply -f service.yaml -n cnb
登陆 CNB 运营管理平台,配置Oauth登陆信息
访问http://[admin domain]/system/setting/platform-auth/oauth
| 字段 | 内容 |
|---|---|
| Client ID | 自建应用 Client ID,可在自建应用详情页获得 |
| Client Secret | 自建应用 Client Secret,可在自建应用详情页获得 |
| Scope | openid corpid |
| 授权方式 | 自动检测 |
| 授权请求 | https://login.dingtalk.com/oauth2/auth?prompt=consent |
| Token 请求 | http://oauth-dingtalk/token |
| 用户信息请求 | http://oauth-dingtalk/userinfo?access_token=${access_token} |
| 同步登出地址 | 不填 |
| 用户 id 映射属性 | uid |
| 用户名映射属性 | username |
| 用户昵称映射属性 | nickname |
| 用户邮箱映射属性 | |
| 用户头像映射属性 | avatarUrl |
| 提示消息映射属性 | 不填 |
| 同步权限设置 | 按需选择,e.g. 允许自定义邮箱 |