栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java+spring boot+mybatis plus+redis实现企业微信扫码登录并同步通讯录到数据库表中

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java+spring boot+mybatis plus+redis实现企业微信扫码登录并同步通讯录到数据库表中

1.首先需要有企业微信管理员账号,以便在企业微信管理端设置一些参数,参数如下:

企业id、AgentId-应用id、secret-应用的secret、授权登录的回调域名、通讯录同步下的secret。

将企业id、AgentId-应用id、secret-应用的secret、通讯录同步下的secret放在配置文件中,(yml、xml文件中)

 

 1>企业微信管理员登陆后在应用管理-自建应用,创建新应用,字段为:AgentId-应用id、

secret-应用的secret;并在最下方设置企业微信授权登录的回调域名,开发时可以使用                    ngrok进行内网穿透,使用穿透后域名,上线后使用确定好的域名,域名规则参考下图:

2>管理工具-通讯录同步,开启API接口,获取secret。

2.于页面中内嵌访问企业微信官方接口的URL,如下:

 对重定向地址进行UrlEncode的网址:http://tool.chinaz.com/tools/urlencode.aspx

进行urlencode之前:http://gs.boraydata.cn:8848/sys/user/weiXinLogin;

gs.boraydata.cn:8848  是在企业微信里设置的回调域名

/sys/user/weiXinLogin  是后端的controller接口路径

该URL可以放在按钮事件中

3.

1>后端代码创建获取access_token的string对象,将企业id与应用secret对string进行替换,需要自定义方法发送post或者get请求。获取token后需要将之缓存到redis中,token的获取有次数限制。

(一般而言,可以转到controller已经意味着这个人在企业微信中存在,可以直接跳转页面,看需求吧,是否需要获取用户信息和数据库中的匹配)

2>根据token以及回调域名返回的code参数获取该用户在企业微信中的信息,并和数据库中的信息匹配,成功则跳转新的页面,反之登录失败。

(需要进行跳转的URL,都是需要提前声明的,然后利用string的replaceAll方法对里面的参数进行替换,然后发送post或者get请求的)

 4.获取通讯录的功能不需要先用企业微信扫码登录,通过企业id与通讯录secret获取token,(注:此token与登录的token不一样,所以缓存到redis中时注意设置不同的key。)之后根据token获取部门列表与成员列表即可,都是先声明URL,然后对参数进行替换,发送post或get请求,和上面大差不差,然后具体的URL是如何的参考官方文档:获取access_token - 企业微信API

ngrok:ngrok - secure introspectable tunnels to localhost

---------------------------------------------------------------------------------------------------------------------------------

以上。

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/276591.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号