概述
第三方接口其实比较简单,按照文档来操作即可,代码也就那点,最费时间的反而是在对接系统的账号的申请上,不建议个人申请很麻烦,还是让公司运维申请企业账号。
作为一名合格的开人人员,不仅仅是把第三方接口调通拿到你想要的数据就行,对接第三方接口需要注意的反而实他们的接口限制条件,这些不注意的反而会成为系统的卡点(系统用户量很少并发很少可以忽略)。
比如并发量和请求量,这些限制条件是否满足系统需求,接口防刷也需要考虑,第三方的接口请求量一般是有限制的,不注意的话一下子把你和个月的请求数给刷完了。
主要步骤就是:
1、授权
前端页面获取AppId和回调地址组装二维码,用户去微信/钉钉/qq扫码授权页面,用户授权后会自动跳转到我们的回调地址并携带授权码。
2、获取openId
前端传入授权码调用后端接口,后端根据授权码调用微信/qq/钉钉的接口获取用户信息中的openId
3、关联用户完成登录操作
根据openId查询用户授权绑定表,如果存在,直接后台生成对应用户的我们系统的token给前端,完成登录操作。
如果没有,可能有两种情况需要区分,第一种是用户不存在,第二种是用户存在,但是没有绑定过,我们不知道openId对应我们系统的哪个用户,需要页面再次引导用户输入手机号信息判断用户手否存在,如果不存在让用户去注册页面注册,实现注册并绑定,如果存在就登录并绑定。
很久之前第二步获取钉钉/微信/qq用户信息的时候,是可以拿到手机号的,但为了安全性和隐私性早就不会返回这种信息了,所以我们只能依赖openId或者unionId来绑定用户。
数据库设计:
CREATE TABLE `user_auth_bind` ( `unid` varchar(50) NOT NULL COMMENT '主键id',
`user_code` varchar(50) NOT NULL COMMENT '用户id',
`auth_unid` varchar(255) NOT NULL COMMENT '授权方唯一id',
`auth_type` varchar(10) NOT NULL COMMENT '授权类型,wx:微信;dd:钉钉;qq: QQ ',
`business_type` varchar(10) NOT NULL COMMENT '业务类型,区分多个系统使用',
PRIMARY KEY (`unid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='第三方登录授权绑定表'
后端核心代码实现:
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>dingtalk&

本文介绍了在集成第三方接口时,尤其是微信、钉钉和QQ的接口过程中,开发者需要注意的要点,包括账号申请策略、接口限制条件(如并发量、请求量和防刷机制)、openId和unionId的使用以及数据库设计,强调了安全性和隐私保护的重要性。
最低0.47元/天 解锁文章
2037





