Skip to content

Commit ee1fa79

Browse files
authored
Merge pull request #340 from Authing/feat/larkBlock
Feat/lark block
2 parents 140f996 + 193ad6e commit ee1fa79

File tree

21 files changed

+146
-1
lines changed

21 files changed

+146
-1
lines changed

docs/.vuepress/sidebar.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -854,6 +854,10 @@ const zhCnNavBar = {
854854
title: "飞书企业自建应用",
855855
path: "/guides/connections/enterprise/lark-internal/",
856856
},
857+
{
858+
title: "飞书企业小组件",
859+
path: "/guides/connections/enterprise/lark-block/",
860+
},
857861
{
858862
title: "Windows AD",
859863
path: "/guides/connections/enterprise/windows-ad/",
Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
# 飞书小组件
2+
3+
<LastUpdated/>
4+
5+
## 场景介绍
6+
7+
- **概述**:飞书小组件适用于企业在飞书工作台的使用飞书小组件场景。为企业实现在飞书小组件获取 {{$localeConfig.brandName}} 用户信息。在 {{$localeConfig.brandName}} 中配置并开启 飞书小组件的企业身份源,即可实现通过 {{$localeConfig.brandName}} 快速获取 飞书 基本开放的信息。
8+
- **应用场景**:飞书工作台
9+
10+
## 注意事项
11+
12+
- 如果你未开通 飞书开发者 账号,请先前往 [飞书开发者后台](https://open.feishu.cn/app) 进行注册;
13+
- 如果你未开通 {{$localeConfig.brandName}} 控制台账号,请先前往 [{{$localeConfig.brandName}} Console 控制台](https://authing.cn/) 注册开发者账号;
14+
15+
## 第一步:创建企业自建应用并开启飞书小组件场景
16+
17+
前往 [飞书开发者后台](https://open.feishu.cn/app),点击**创建企业自建应用**,填写相应内容,创建应用。
18+
19+
<img src="./images/01.png" >
20+
21+
<img src="./images/02.png" >
22+
23+
进入创建的应用,点击**应用能力**,选择**工作台小组件**,添加能力。具体配置参考[飞书小组件-快速开始](https://open.feishu.cn/document/uAjLw4CM/uYjL24iN/block/quick-start)
24+
25+
<img src="./images/04.jpg" >
26+
27+
点击**凭证与基础信息**,查看 App ID 和 App Secret ,打开 {{$localeConfig.brandName}} 控制台。
28+
29+
<img src="./images/09.jpeg" >
30+
31+
为了能够正常获取到飞书的用户信息,完成认证流程,需要在**权限管理**页面,完成**权限配置**,搜索以下权限,并开启:
32+
33+
- 以应用身份读取通讯录
34+
35+
- 获取用户受雇信息
36+
37+
- 获取用户基本信息
38+
39+
- 通过手机号或邮箱获取用户 ID
40+
41+
- 获取用户手机号
42+
43+
- 获取用户邮箱信息
44+
45+
- 查询用户的企业邮箱
46+
47+
- 获取用户组织架构信息
48+
49+
<img src="./images/06.png" >
50+
51+
## 第二步:在 {{$localeConfig.brandName}} 控制台配置 飞书小组件
52+
53+
2.1 请在 {{$localeConfig.brandName}} Console 控制台 的「企业身份源」页面,点击「创建企业身份源」按钮,进入「选择企业身份源」页面,点击「飞书」身份源按钮
54+
55+
<img src="./images/12.png" >
56+
57+
2.2 选择 「飞书小组件」。
58+
59+
<img src="./images/13.jpeg" >
60+
61+
2.3 请在「飞书小组件」页面,填写相关的字段信息。
62+
<img src="./images/14.jpg" >
63+
64+
| 字段 | 描述 |
65+
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
66+
| 唯一标识 | a. 唯一标识由小写字母、数字、- 组成,且长度小于 32 位。<br />b. 这是此连接的唯一标识,设置之后不能修改。 |
67+
| 显示名称 | 这个名称会显示在终端用户的登录界面的按钮上。 |
68+
| App ID | 在飞书应用的后台, **凭证与基础信息** 中可以看到 App ID 和 App Secret 。 |
69+
| App Secret | 在飞书应用的后台, **凭证与基础信息** 中可以看到 App ID 和 App Secret 。 |
70+
| 登录模式 | 开启「仅登录模式」后,只能登录既有账号,不能创建新账号,请谨慎选择。 |
71+
| 账号身份关联 | 不开启「账号身份关联」时,用户通过身份源登录时默认创建新用户。开启「账号身份关联」后,可以允许用户通过「字段匹配」或「询问绑定」的方式直接登录到已有的账号。 |
72+
73+
App ID 和 App Secret ,填写在飞书应用的后台, **凭证与基础信息** 中的 App ID 和 App Secret 。
74+
75+
<img src="./images/03.png" >
76+
77+
2.4 配置完成后,点击「创建」或者「保存」按钮完成创建。
78+
79+
<img src="./images/14.jpg" >
80+
81+
## 第三步:在飞书后台上线飞书自建应用
82+
83+
3.1 在飞书开发者后台,选择应用发布,在**版本管理与发布**中,点击**创建版本**,将创建好的应用进行发布,
84+
85+
<img src="./images/07.png" >
86+
87+
<img src="./images/08.png" >
88+
89+
3.2 提交申请后,你的企业管理员会进行审核,审核结果会通过飞书和开发者后台发送给你。详情请见[飞书文档 - 开发企业自建应用](https://open.feishu.cn/document/uQjL04CN/ukzM04SOzQjL5MDN)
90+
91+
## 第四步:开发接入
92+
93+
- **推荐开发接入方式**:调用 Authing 开放 API 完成登录流程
94+
95+
- **详细接入方法**
96+
97+
4.1 参考飞书小组件身份周期,在符合你的业务场景的[生命周期](https://open.feishu.cn/document/uAjLw4CM/uYjL24iN/block/block-frame/logic-layer/lifecycle/lifecycle)中,调用获取飞书相关登录预授权码,调用 Authing 登录 API[移动端登录 API(以飞书小组件登录)](https://api-explorer.pre.authing.cn/?tag=tag/%E7%99%BB%E5%BD%95/API%20%E5%88%97%E8%A1%A8/operation/SignInV3Controller_signInByMobile)
98+
99+
```js
100+
import promisify from "./libs/api-promise";
101+
/** 以上引入了公共库,作用是:
102+
* promisify: 提供 Promise 化的 API,通过 tt.promises.API_NAME 使用
103+
*/
104+
105+
//...
106+
Block({
107+
// ...
108+
methods: {
109+
async request() {
110+
const { code } = await tt.promises.login();
111+
112+
const response = await tt.promises.request({
113+
url: "https://core.authing.cn/api/v3/signin-by-mobile",
114+
method: "POST",
115+
header: {
116+
"content-type": "application/json",
117+
"x-authing-app-id": 应用 ID,
118+
},
119+
data: {
120+
connection: 'lark_block' //身份源连接类型,
121+
extIdpConnidentifier: 身份源连接标识,
122+
larkBlockPayload: {
123+
code: code //飞书小组件获取的授权码,
124+
},
125+
},
126+
});
127+
this.setData({
128+
info: JSON.stringify(response.data, null, 2),
129+
});
130+
},
131+
},
132+
});
133+
```
134+
135+
4.2 在已创建好的 飞书小组件 身份源连接详情页面,开启并关联一个在 {{$localeConfig.brandName}} 控制台创建的应用
136+
137+
<img src="./images/15.png" >
138+
139+
4.3 上传提交发布你的飞书小组件
140+
141+
<img src="./images/17.png" >
52.6 KB
Loading
42.9 KB
Loading
39.1 KB
Loading
97.4 KB
Loading
38.4 KB
Loading
48.1 KB
Loading
35.2 KB
Loading
42.3 KB
Loading

0 commit comments

Comments
 (0)