<< Click to Display Table of Contents >> 钉钉集成 |
![]() ![]() ![]() |
❖系统集成需求内容
用户通过点击钉钉客户端集成永洪报表url链接后实现免登陆查看永洪的报表。
❖系统集成逻辑
钉钉客户端通过嵌入永洪报表的url链接来查看报表,url链接后面需加上固定参数fromDingDing=true,以便和其他终端的访问请求区别。永洪后台根据是否有这个参数来决定是否需要调用钉钉接口进行登录验证。
❖具体实现
1.永洪后台开发http请求,调用钉钉接口获取access_token。
2.永洪后台根据上一步的access_token,再调用钉钉接口获取jsapi_ticket。
3. 永洪后台计算前端校验需要使用的签名信息,需要实现以下方法。
sign(ticket, nonceStr, timeStamp, url)
NonceStr为一个随机字符串
4. 永洪在报表的HTML5页面中使用jsapi提供的dd.config(PC客户端使用DingTalkPC.config)接口进行签名校验。
需要传递的参数有‘url’,‘nonceStr’,‘agentId’,‘timeStamp’,‘corpId’,‘signature’
5. 页面引入js
jsapi:https://g.alicdn.com/ilw/ding/0.9.2/scripts/dingtalk.js
6.使用钉钉js-api提供的获取免登授权码接口获取CODE
7. 通过CODE换取身份userid
8.永洪获取到当前你访问用户的userid设置当前用户为已登录状态,从而可以直接查看报表内容。
❖注意事项
1. 需客户方提供企业的corpId、CorpSecret以及agentId。
2. 请保证企业的钉钉用户都存在在永洪系统中,避免无法查看报表的情况。
❖参考demo
https://github.com/ddtalk/HarleyCorp?spm=a219a.7629140.0.0.8SarVE