Index
需求
在钉钉扫码登录这一文章中,我们只是建了一个钉钉H5微应用作为工具人使用。
那么能不能完善一下,让这个微应用真正运行起来呢?
原理
钉钉H5微应用说穿了就是一个内嵌网页,我们只要将kintone的首页嵌入即可。
免登方面,我们可以参考钉钉官方免登方案,获取免登码。
免登码和kintone账号的对应则可以使用钉钉扫码登录中的代码。
由于需要从手机端访问IdP,我们需要把我们的程序部署到互联网上或使用内网穿透程序。
程序
程序设计图如下:
代码方面我们可以复用钉钉扫码登录的代码,基础环境搭建也和其一致。
代码说明
钉钉微应用首页需指向IdP服务器,再通过303重定向再到kintone。
钉钉JSAPI调用存在限制,只能在同一个域名下调用。因此如果设定了kintone的首页,会导致IdP的免登失效。
IdP通过user agent来判定http request是否来自钉钉。
配置
具体的配置和钉钉扫码登录中的相似,这里只列出不同处:
IdP端配置
下载并运行钉钉的内网穿透程序,映射的本地端口为3000,并记下你选用的子域名。
钉钉端配置
进入钉钉H5微应用的开发管理。
选择开发模式为快捷链接。
设置快捷链接地址:http://内网穿透子域名.vaiwan.com/re?domain=你的kintone域名
部署与发布中选择可使用范围并点击发布。
kintone共通管理配置
进入cybozu共通管理->系统管理->安全性->登录
将Identity Provider的SSO终结点URL(HTTP-Redirect)改为http://内网穿透子域名.vaiwan.com/saml/sso
将退出cybozu.cn后的跳转URL改为http://内网穿透子域名.vaiwan.com/signout