logo
0
2
Login
合并来自 xh/docs 的合并请求 #2

cnb 飞书登陆对接

简介

通过飞书提供的登录能力,可以让 CNB(CloudNativeBuild) 在浏览器内打开时,引导成员使用飞书登录授权,从而获取成员的身份信息

在进行飞书授权登录之前,需要先在飞书开放平台开发者后台创建一个应用,并获得应用的 AppID 和 AppSecret.(见“登录流程概述”)。

接下来,需要选中【安全设置】一栏,并将接收授权码的页面地址添加到右侧的【重定向URL】。

[protocol]://[domain]/oauth/callback

如 cnb 系统主站域名为 https://cnb.example.com,则重定向 URL 为 https://cnb.example.com/oauth/callback

CNB 管理端登陆配置

登陆 CNB 运营管理平台,配置Oauth登陆信息

访问http://[admin domain]/system/setting/platform-auth/oauth

字段内容
Client ID飞书应用 AppID,可到飞书开放平台开发者后台获得
Client Secret飞书应用 AppSecret
Scopecontact: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 开放公网接入以供飞书回调

验证

  1. 配置完成后,访问 CNB 主站,点击登陆,确认是否会跳转到飞书登陆地址,如果没有,则检查前一步授权地址是否配置正确
  2. 飞书登陆完成后,会传递登陆授权码回到主站,并发起授权码消费接口,换取登陆用户信息,如果这一步失败,可以检查前一步用户信息请求是否配置正确
  3. 如果没有成功登陆进入用户主页,请联系 CNB 管理员定位具体问题原因

About

通过飞书提供的登录能力,可以让 CNB(CloudNativeBuild) 在浏览器内打开时,引导成员使用飞书登录授权,从而获取成员的身份信息

Language
Markdown100%