- 小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
这几天需要在飞书集成网页版应用因为流程不熟悉,所以查询完之后特地记录一下,多图预警。 首先集成网页应用需要在飞书开放平台创建一个应用,如图:
我创建的是一个企业自建应用后面就以此来介绍集成网页应用流程。
1.开发你的网页应用
这里就跟平时写项目一样,可以用react、vue、angular等任意框架来开发你的应用。
主要区别是在首页进行判断是否是在浏览器打开:
如果是则重定向到https://open.feishu.cn/open-apis/authen/v1/user_auth_page_beta?app_id=xxx&locale=zh-CN&redirect_uri=xxx&state=xxx
如果在飞书内则重定向到https://open.feishu.cn/open-apis/authen/v1/index?redirect_uri=xxx&app_id=xxx&state=xxx
2.飞书开放平台的必要配置
第一步,在飞书开放平台进入到你之前创建的应用中。在应用功能->网页菜单下配置桌面端主页和移动端主页,我这里暂时没配置移动端主页。
第二步,在安全设置菜单下配置重定向URL,这里免登操作会需要。
第三步,权限管理菜单下,选择需要的权限,这里获取的时飞书账号的相关信息,如:获取用户邮箱信息,获取用户手机号,获取用户user ID。
第四步,事件订阅菜单下,配置Encrypt Key,这个是可选参数,但是为了安全考虑官方建议还是配置上,还有配置请求网址URL,这里的配置是用来获取飞书用户信息是所需要的token,也是免登的一些必要配置。
3.免登的开发流程
首先看下免登的大体流程
我们如果想要支持免登,第一步需要获取授权码code。这里通过如图url,可以飞书扫码,扫码成功后,会重定向到你之前配置的重定向地址,同时授权码code就在url地址中,如:http:xxx?code=123&state=123。
第二步,获取到授权码code之后,就可以尝试通过code来请求用户身份了,但是这里我们需要的token并没有拿到,所以需要再去拿token。
第三步,获取app_access_token授权凭证,这里按照应用商店应用来举例。发现需要app ID和app Secret还有app_ticket,但是app_ticket我们目前并没有这个参数,所以转去获取app_ticket。
第四步,获取应用的app_ticket。需要配置事件订阅地址(上面已经提到在哪里配置),飞书会每隔 1 小时向该地址自动推送
app_ticket,应用根据接收到的app_ticket事件来获取app_ticket。
第五步,利用之前获取的 App ID、App Secret 和 上一步步获取的 app_ticket 获取 app_access_token。需要的参数都已经全了,按照下图调取api,就可以获取app_access_token。
第六步,所有参数都已经拿到了,就可以获取用户信息,实现免登。
4.版本发布
等全部配置完成,就可以发布网页应用到飞书了。找到菜单应用发布即可。