钉钉微应用
服务端示例程序.
接入流程
/使用说明
/教程
请参照: https://www.cnblogs.com/applerosa/p/11509512.html适用于
第三方企业
的H5微应用
, 消息处理模式为HTTP回调
项目采用
maven
构建/管理依赖/打包发布
清理编译结果重新编译:mvn clean compile
构建/打包:mvn package
由于我自身在pom.xml
中的相关配置, 所以package
的结果,lib依赖包是独立的,没有放入最终的jar包,部署时需要注意
java
语言的SDK jar 包
,位置在/bak/toabao-xxxxxxxx.jar
, 请自行引入;resources/application.yml
里面;apache
的commons-codec
中Base64
, 除springboot
自身依赖之外无其他依赖;cn.lnexin.DingApplication.main()
即可启动项目;再强调一遍: 适用于
第三方企业
的H5微应用
, 消息处理模式为HTTP回调
因为是微应用服务端的示例程序,所以某些功能具体的业务实现是没有的,比如: 钉钉发送下单数据过来, 示例包含接收订单数据步骤, 处理逻辑各人自己补充;
相关概念说明
套件/微应用 suiteKey : 创建微应用后,基础信息里面有
套件/微应用 suiteSecret : 应用密钥, 创建微应用后,基础信息里面有
套件/微应用 suiteTicket : 钉钉给应用推送的ticket,测试应用随意填写如:TestSuiteTicket,正式应用需要从推送回调获取suiteTicket
套件/微应用 suitetoken : 钉钉推送消息过来,我们解密数据时需要, 创建微应用后,基础信息里面
套件/微应用 aesKey : 消息加密解密用, 创建微应用后,基础信息里面
免登授权码 code : 前端在调用钉钉相关 jsapi "dd.runtime.permission.requestAuthCode()" 之后获得
企业授权凭证 accessToken : 由后台根据suiteKey,suiteSecret,suitrTicket 向钉钉服务器请求获得
企业id corpId : 企业/组织的唯一Id
用户userid userId : 用户在当前企业内的唯一ID
用户unionid unionId : 用户在我们开发的整个微应用中, 的唯一ID
第三方应用凭证 suite_access_token : 根据我们的suitekey/secret/ticket 向钉钉请求获取的, 这个是我们的应用(套件)对购买了应用的企业授权用的
临时授权码 tmp_auth_code : 钉钉发给我们的
永久授权码 permanentCode : 根据 临时授权码 和 suite_access_token 获取的, 用于激活应用授权
下面大概说一下有哪些示例:
根据 corpId 获取 accessToken ;
通过 免登code / accessToken 获取 用户的userId
通过 accessToken / userId获取 用户详情(包括姓名)
(一般的登录流程为:
微应用进入前端页面获取企业ID,然后前端初始化获取免登code,
然后服务端用根据这两个参数, 通过上面3个步骤, 查询出户信息
补充自己的一些处理逻辑,将数据返回前端即可)
获取企业的授权详细信息,这里可以理解为通过 accessToken/corpID 获取企业详情;
剩余的接口请参照 钉钉官方服务端开发文档
回调功能相关(钉钉推送数据到我们服务器)
因为是基于HTTP回调的模式,所以需要下面的步骤
功能 | uri地址 | 类型 | 参数 | 返回 |
---|---|---|---|---|
测试:获取配置 | /ding/config | GET | 无 | 测试服务是否启动成功 |
登录 | /ding/login | GET | code,corpId | 返回用户详情,里面包含token |
获取accessToken | /ding/token | GET | corpId | 仅仅只是获取accessToken |
钉钉回调接口 | /ding/callback | POST | signature,timestamp,nonce,encryptBody | 前3个参数位于url中,encrtpt位于post的body中 |
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。