准备步骤

  1. 申请注册企业微信;
  2. 企业注册后,需要申请微信服务商 企业微信服务商官网;
    PS:上述不是本章的主要内容,不做过多详解
  3. 进入服务商后台 应用管理–> 登录授权–>设置登录授权发起域名和授权完成回调域名,如果需要使用通讯录权限,需要这个文件放到域名对应的服务器下,如果是boot项目存放到/resources/static文件夹下即可。

开发内容

新建一个页面内容如下:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>扫码登录授权页</title>
<body>
<div id="code" ></div>
<!--用于测试我就填了两个参数-->
<a href="https://open.work.weixin.qq.com/wwopen/sso/qrConnect?appid=CORPID&redirect_uri=REDIRECT_URI">
<img src="//wwcdn.weixin.qq.com/node/wwopen/wwopenmng/style/images/independent/brand/300x40_blue$cecbbc4e.png" srcset="//wwcdn.weixin.qq.com/node/wwopen/wwopenmng/style/images/independent/brand/300x40_blue_2x$c22687e4.png 2x" alt="企业微信登录"></a>
</body>
</html>

参数说明

参数 必须 说明
appid 服务商的CorpID
redirect_uri 授权登录之后目的跳转网址,需要做urlencode处理。所在域名需要与授权完成回调域名一致
state 用于企业或服务商自行校验session,防止跨域攻击
usertype 支持登录的类型。admin代表管理员登录(使用微信扫码),member代表成员登录(使用企业微信扫码),默认为admin

这样即可产生想要的二维码
扫码结束后,跳转的链接后,通过解析URL可获得一个code,通过code即可进行下一步的操作。附上通过简单的ajax请求,通过code获取登录信息。

    <script>$(function(){var code = GetUrlParam("auth_code");$.ajax({url:'../getUser',dataType:'json',type:'get',async:'false',data:{code:code},success:function(data){$("#userName").text(data.user_info.name);$("#userId").text(data.user_info.userid);$("#corpId").text(data.corp_info.corpid);$("#avatar").attr('src',data.user_info.avatar);}});})function GetUrlParam(paraName) {var url = document.location.toString();var arrObj = url.split("?");if (arrObj.length > 1) {var arrPara = arrObj[1].split("&");var arr;for (var i = 0; i < arrPara.length; i++) {arr = arrPara[i].split("=");if (arr != null && arr[0] == paraName) {return arr[1];}}return "";}else {return "";}}</script>

后端Controller代码:

    @ResponseBody@RequestMapping("/getUser")public String login(@RequestParam(value = "code")String code){String providerToken = tokenCommon.getProviderToken();WxResponseDTO loginInfo = userCommon.getLoginInfo(code, providerToken);//将对象封装成JSON返回页面String rsp = JSONObject.toJSONString(loginInfo);return rsp;}

至此就能成功拿到登录者信息。

PS:博客做为自己工作的一个记录,也希望帮助也需要的人。第一次写,如有不足,敬请谅解!有不解也可留言哦!

企业微信服务商扫码登录相关推荐

  1. 微信或企业微信实现扫码登录的三种方式

    通过微信或企业微信扫码登录PC管理后台,替代传统的账号.密码登录. 为了完成这个功能,疯狂百度各种扫码登录的技术文章,能实现微信或企业微信扫码登录的方式可以说有三种: 1.注册一个微信资源开放平台账号 ...

  2. 企业微信实现扫码登录

    一:获取扫码登陆所需的参数:appid,secret,agentid 登录企业微信:https://work.weixin.qq.com/ 扫码登录文档:https://work.weixin.qq. ...

  3. pc端集成企业微信的扫码登录及遇到的问题

    集成步骤: 1.在企业微信后台中添加应用 2.记录下应用的相关信息,在后文要用到 3.引入企业微信js 旧版:http://rescdn.qqmail.com/node/ww/wwopenmng/js ...

  4. 企业微信第三方扫码登录

    为什么写这个文章 公司后台突然需要扫码登录,网上的企业微信扫码都是基于自建应用的扫码登录,对第三方的扫码并没有多加介绍 概述 企业微信的管理员和成员,可通过单点登录机制,登录到第三方网站.第三方可通过 ...

  5. 企业微信之——扫码登录

    参考文献 扫码授权登陆 配置企业微信应用设置 1.设置可信域名 ❗️可信域名必须与企业主体相同或相关联 2.设置授权回调域 ❗️授权回调域必须与可信域名一直,如果有设置端口,则端口也要配置一直,详情看 ...

  6. 企业微信+esaywechat 扫码授权登录

    企业微信+esaywechat 扫码授权登录 相关 相关 这里用的是 Yii2 框架. 安装easywechat: composer require overtrue/wechat:~4.0 -vvv ...

  7. CAS在windows AD下实现企业微信自动扫码登陆的总结

    基础名词 CAS(Central Authentication Service),可以看作中心授权服务器 SSO(Single Sign On),单点登录 SSO相关知识 同域SSO(blog.212 ...

  8. 淘宝和微信的扫码登录实现原理

    目录 基本技术原理 扫码登录功能到底是什么样的? 扫码登录功能的完整技术逻辑 1)网页端与服务器的配合逻辑: 2)手机端与服务器的配合逻辑: 3)登录成功时的逻辑: 4)详细的技术原理总结如下图所示: ...

  9. 微信网页扫码登录与微信公众号授权登录的区别

    最近着手开发了微信网页扫码登录和公众号授权登录收获颇丰,两者的开发很类似.以下是我个人摸索过程中发现的两者的异同: 两者都可以通过微信客户端扫码授权的方式,让第三方页面获得微信用户的一些基本信息(昵称 ...

最新文章

  1. 仅支持BCH的众筹平台Coinfundr或能革新众筹业
  2. 单页面axios_Axios封装之取消重复请求和接口缓存
  3. iris数据_Kaggle 数据可视化课程5
  4. 初学python的format之美
  5. pythonsqlite事务_python sqlite3 的事务控制
  6. B站疯传!堪称最强!一整套架构实战资料,白拿不谢!
  7. QEMU模拟Cortex-A9,运行kernel、rootfs
  8. MYSQL常用操作(一)之设置ROOT密码,连接,常用命令
  9. Java刷新Jpanel_java – 刷新JPanel
  10. pt-query-digest查询日志分析工具
  11. Java获取当前Linux系统ip,cpu和内存使用情况,进程信息并保存至数据库
  12. paip.点击每个网页链接都提示下载的解决。
  13. 1.2、SRv6(Segment Routing Over IPv6) 介绍
  14. 史上最全自媒体推广工具
  15. 腾讯浏览器支持html5视频播放器,JS第8款:html5media.js跨浏览器兼容的HTML5视频音频播放器...
  16. Cobalt Strike Malleable C2
  17. 基于JAVA中小型饭馆餐饮管理系统计算机毕业设计源码+系统+数据库+lw文档+部署
  18. 知识付费项目不知如何获客?引流技巧你又知道多少?
  19. 制作canal-adapter的docker镜像
  20. idea翻译软件TKK网络连接超时

热门文章

  1. 5月10日云栖精选夜读:阿里专家直击前端盛会JSConf2017_Day2:见证Moment.js精彩分享...
  2. 基于java web的在线考试系统(源码+论文)
  3. Uipath Excel-读取操作(Read Row)
  4. html5 canvas代替flash,替代Flash技术最好的选择------HTML5
  5. 新手上路:什么是API接口
  6. 基于SSM的电影票预订系统 JAVA MYSQL
  7. Android设备唯一标识符ID
  8. 4g网络什么时候淘汰_4G网络即将被淘汰?4G手机:我还没过时
  9. Linux——定时运行作业
  10. vim: command not found 绝妙解决方案