用户打开钉钉首页, 点击某一个应用的图标, 进入到企业自己应用的h5页面, 经历的步骤还是很多的, 如下:
- 注册企业, 得到corpId和CorpSecret
- 应用后端服务: 用corpId和CorpSecret获取accessToken
- 应用后端服务: 用accessToken获取jsTicket
- 应用后端服务: 对 ’url’,‘nonceStr’,‘agentId’,‘timeStamp’,‘CorpId’ 签名, 得到 signature, 并返回前端
- 应用前端页面: 用上一步的数据执行dd.config进行验证
- 应用前端页面: 执行 dd.runtime.permission.requestAuthCode 得到 code, 然后传给后端
- 应用后端服务: 用 code 和 accessToken 获取 userId
- 应用后端服务: 用 userId 和 accessToken 获取 userInfo
??????????????????
步骤2: 钉钉后台是不是走了一个密码认证的一个过程, 然后 redis 中存储 这个 accessToken, 并设置 expire = 2h
步骤5: 这步骤好像很关键, 获取的 code 就可以对应上用户了, 钉钉后台貌似是redis存 key:code, value: userId , 有些迷糊, dd.config 和 dd.ready
后端sdk使用代码:https://github.com/zhanyeye/d...
前端jsapi使用代码:https://github.com/zhanyeye/d...
项目源码地址
https://github.com/zhanyeye/d...
https://github.com/zhanyeye/d...