通过飞书提供的登录能力,可以让 CNB(CloudNativeBuild) 在浏览器内打开时,引导成员使用飞书登录授权,从而获取成员的身份信息
在进行飞书授权登录之前,需要先在飞书开放平台开发者后台创建一个应用,并获得应用的 AppID 和 AppSecret.(见“登录流程概述”)。
接下来,需要选中【安全设置】一栏,并将接收授权码的页面地址添加到右侧的【重定向URL】。
[protocol]://[domain]/oauth/callback
如 cnb 系统主站域名为 https://cnb.example.com,则重定向 URL 为 https://cnb.example.com/oauth/callback
登陆 CNB 运营管理平台,配置Oauth登陆信息
访问http://[admin domain]/system/setting/platform-auth/oauth
| 字段 | 内容 |
|---|---|
| Client ID | 飞书应用 AppID,可到飞书开放平台开发者后台获得 |
| Client Secret | 飞书应用 AppSecret |
| Scope | contact:user.base:readonly |
| 授权方式 | 自动检测 |
| 授权请求 | https://accounts.feishu.cn/open-apis/authen/v1/authorize |
| Token 请求 | https://open.feishu.cn/open-apis/authen/v2/oauth/token |
| 用户信息请求 | https://open.feishu.cn/open-apis/authen/v1/user_info |
| 同步登出地址 | https://open.feishu.cn/open-apis/passport/v1/sessions/logout |
| 用户 id 映射属性 | data.open_id |
| 用户名映射属性 | data.name |
| 用户昵称映射属性 | data.en_name |
| 用户邮箱映射属性 | data.email |
| 用户头像映射属性 | data.avatar_url |
| 提示消息映射属性 | msg |
| 同步权限设置 | 按需选择,e.g. 允许自定义邮箱 |
cnb 服务的安全组,仅需放通出站即可,如上述流程所示,登录流程中,CNB 服务需访问飞书换取登录者信息,但无需 CNB 开放公网接入以供飞书回调