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
---------------------------------------------------------------------------------------------------------------------------------
以上。



