对于企业单位使用的业务系统,虽然并发量不大,但围绕企业内部管理的流程和组织机构、人员之间的关系都要进行系统的维护又由于现在企业对移动办公、便携式办公的要求越来越迫切一些审批的流程也未必一定要在PC前完成,我来为大家科普一下关于11步告诉你微信小程序是怎样登录到你的业务系统的?下面希望有你要的答案,我们一起来看看吧!

11步告诉你微信小程序是怎样登录到你的业务系统的(11步告诉你微信小程序是怎样登录到你的业务系统的)

11步告诉你微信小程序是怎样登录到你的业务系统的

对于企业单位使用的业务系统,虽然并发量不大,但围绕企业内部管理的流程和组织机构、人员之间的关系都要进行系统的维护。又由于现在企业对移动办公、便携式办公的要求越来越迫切。一些审批的流程也未必一定要在PC前完成。

之前的项目就是实现微信小程序连接企业微信,获取企业微信中当前员工信息并认证到企业内部业务系统的过程。

系统环境

这里只介绍系统架构中使用到的主要组件,包括:Springboot1.5.7和apache-shiro1.3.2。shiro比较轻量级,使用起来也比较方便。

前置条件

这里介绍一些使用微信小程序认证企业微信的必要条件。

手机号认证

业务系统的认证过程是传统的用户名和密码的方式。其中用户名使用的是用户手机号码,这里主要是为了与微信小程序的用户手机号码进行匹配。

当然,也可以是两套认证机制。比如业务系统本身的登录认证使用用户名,微信小程序使用手机号码。都是可以的。

已经是企业成员

认证流程

这里先推荐一个微信开发的Java SDK。非常好用。

https://github.com/Wechat-Group/WxJava

对认证时序的详细描述:

1、 wx.qy.login获取code。微信小程序调用企业微信的login接口获取对应code。此code的有效期是5分钟,并且只能使用一次。

2、 微信小程序通过wx.request发送code给后台业务系统进行认证。

3、 后台业务系统根据企业微信的corpid和secret到企业微信后台获取登录的access_token。

调用接口:https://qyapi.weixin.qq.com/cgi-bin/gettoken?&corpid=****&corpsecret=****

4、 根据第三步中提供的接口url获取access_token返回业务系统。

5、 业务系统根据access_token和小程序发送的code获取该用户信息。其中grant_type的参数是固定的:authorization_code

调用接口:https://qyapi.weixin.qq.com/cgi-bin/miniprogram/jscode2session?&js_code=*****&grant_type=authorization_code &access_token=******。

6、 返回用户信息给业务系统。此处的用户信息中包含userid和sessionkey等内容。还没有我们想要的手机号码和用户名等。

7、 根据第六步中获取到的userid获取用户详情。

调用接口:https://qyapi.weixin.qq.com/cgi-bin/user/get?userid=111

8、 返回用户详情信息,此处已经包含用户手机号码。

9、 发送手机号码到shiro中进行认证,获取业务系统的登录token。此处就走之前写好的认证接口就可以了。如果用户名和小程序认证的方式不同,需要在shiro中添加一个新的过滤器来实现手机号码的认证。

10、 返回登录业务系统的token。

11、 将token返回给微信小程序。

关注作者 转发, 然后私信关键词(springcloud)就能免费领取一套springcloud视频教程

,