http://u220434.s1.weizhan1.com/admin/login.html
标题:企业微信如何***获取登录用户信息详解
描述:本文将深入探讨企业微信如何有效获取登录用户信息的方法,包括API调用、权限设置等关键步骤,帮助开发者和管理员优化用户体验和数据管理。
关键词:企业微信,获取登录用户信息,API调用,权限设置,数据管理
把第三方应用安装到了测试企业,并且企业员工能通过工作台入口打开应用。在本节教程中,我们将在企业员工打开的应用主页时,获取当前用户的身份信息。
通过本节教程,开发者将了解:
在开始本教程内容前,开发者需要做如下准备:
企业微信提供了 OAuth 的授权登录方式,可以让从企业微信终端打开的网页获取成员的身份信息,从而免去登录的环节。在开始前,我们需要花一点点时间了解下网页授权大致的流程。
关于 OAuth 的详细内容,请参考网页授权登录。
在我们当前的教程中,我们有几个 URL 需要注意和区分:
在【应用详情】-【应用主页】配置的主页 URL 为 http://myapp.com/login ,对于这个 URL 访问的实现构造授权链接,并跳转的逻辑。
// 第三方应用主页 URLrouter.get('/login', function(req, res, next) {// 重定向 URLlet redirect_uri = encodeURI('http://myapp.com/app'); // 【应用详情】-【回调配置】对应的 suite_id 和 suite_secret 信息const suite_id = ''; // 授权链接 URLlet login_url =`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${suite_id}&redirect_uri=${redirect_uri}&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect`// 向授权链接 URL 跳转res.redirect(login_url);});注意,重定向 URL 必须在可信域名下,关于可信域名的更多信息,请参考 网页授权的可信域名。关于授权链接更多的内容,请参考 构造网页授权链接。
企业成员从工作台点击应用,打开应用主页 URL,向授权链接 URL 跳转;企业微信对授权链接上的信息进行校验之后,会重定向 URL 跳转,并以 query 的形式带上当前访问成员的 code 信息。
在上一步,我们定义了重定向 URL 为 http://myapp.com/app ,在这个 URL 的访问里我们解析出 code 参数。
// 重定向 URL router.get('/app',async function(req, res, next) {// 从 query 参数中解析 codelet {code} = req.query;// 展示登录后的页面res.render('helloworld');});在解析出成员授权 code 之后,使用 suite_access_token ,调用 获取访问用户身份 接口,即可得到访问用户的身份信息。
通常在获取到用户身份之后,可以把身份信息写入 session ,供后续访问使用。
// 重定向 URL router.get('/app',async function(req, res, next) {// 从query 参数中解析 codelet {code} = req.query;// 从缓存中读取 suite_access_tokenlet suite_access_token = Tool.GetSuiteAccessToken();// 获取访问用户信息let {data:user_data} = await axios.get('https://qyapi.weixin.qq.com/cgi-bin/service/getuserinfo3rd',{params:{suite_access_token,code }});// 将登录态写入 sessionreq.session.user = user_data;// 展示登录后的页面res.render('helloworld', user_data);});在前端页面中展示访问用户的基本信息:
Hello World Hello World!
Your user_id is <%= UserId %>
在这一步,可以获取到当前访问用户的基本信息 user_id,如果想要获取用户更详细的信息,请参考 获取访问用户敏感信息。第三方应用不会返回用户的真实 name,使用 user_id 代替name 返回,第三方页面需要通过 通讯录展示组件 来展示名字。
在本节教程中,我们通过网页登录授权,在企业成员打开应用主页时获得了当前访问成员的身份信息。下节课程,我们将开始调用企业的开放接口,向企业员工推送应用消息。