项目上接到一个需求,为方便员工登录各种内部系统,统一以企业微信为入口,在企业微信面板中增加系统跳转链接实现单点登录。
整体思路比较简单,大致如下:
1.由于自建系统和企业微信的用户ID不同,所以需要建立一张用户对应表,通过企业微信API获取用户列表将两个系统的用户关联起来。
2.在企业微信管理后台填写系统跳转链接,跳转时url会增加code参数,这个code就是当前登录用户的加密字符串。
3.在自建系统中获取到code参数后调用企业微信获取成员信息API,返回结果中包含企业微信用户ID。
4.拿到企业微信用户ID后到用户对应表中查找,如果有对应用户记录,则使用自建系统的用户ID执行登录操作。
接下来是具体实现步骤:(文中wwlocal.qq.com需指向企业微信的服务器地址)
1.首先到企业微信的接口配置参数页面查看相关信息,红框部分是关键信息,调用API时需要用到:
2.调用获取部门成员详情接口获取员工列表,总共需要三个参数:access_token、department_id、fetch_child,其中access_token需要单独获取