参考文献

  • 扫码授权登陆

配置企业微信应用设置

1.设置可信域名

❗️可信域名必须与企业主体相同或相关联

2.设置授权回调域

❗️授权回调域必须与可信域名一直,如果有设置端口,则端口也要配置一直,详情看开发文档。

❗️该回调域名提前解析到服务器ip地址

3.将ip地址添加到白名单

OAuth2

1.构造授权链接

String encodeUrl = URLEncoder.encode(props.getOauth2CallbackUrl(), StandardCharsets.UTF_8);
String url = "https://open.work.weixin.qq.com/wwopen/sso/qrConnect?" +"appid=" + props.getCorpid() +"&agentid=" + props.getAgentid() +"&redirect_uri=" + encodeUrl +"&state=" + subject.getUserId();

参数说明

参数 必须 说明
appid 企业微信的CorpID,在企业微信管理端查看
agentid 授权方的网页应用ID,在具体的网页应用中查看
c 重定向地址,需要进行UrlEncode
state 用于保持请求和回调的状态,授权请求后原样带回给企业。该参数可用于防止csrf攻击(跨站请求伪造攻击),建议企业带上该参数,可设置为简单的随机数加session进行校验
lang 自定义语言,支持zh、en;lang为空则从Headers读取Accept-Language,默认值为zh

若用户不在agentid所指应用的可见范围,扫码时会提示无权限。

假定当前

企业CorpID:wxCorpId

开启授权登录的应用ID:1000000

登录跳转链接:http://api.3dept.com

state设置为:weblogin@gyoss9

需要配置的授权回调域为:api.3dept.com

根据URL规范,将上述参数分别进行UrlEncode,得到拼接的OAuth2链接为:

https://open.work.weixin.qq.com/wwopen/sso/qrConnect?appid=wxCorpId&agentid=1000000&redirect_uri=http%3A%2F%2Fapi.3dept.com&state=web_login%40gyoss9

2.授权成功后回调

  • 成功:重定向到redirect_uri会携带code和state参数

    redirect_uri?code=CODE&state=STATE
    
  • 失败:重定向到redirect_uri,但不会携带code,仅有state参数

  • 回调业务按需处理

企业微信之——扫码登录相关推荐

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

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

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

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

  3. 企业微信服务商扫码登录

    准备步骤 申请注册企业微信: 企业注册后,需要申请微信服务商 企业微信服务商官网: PS:上述不是本章的主要内容,不做过多详解 进入服务商后台 应用管理–> 登录授权–>设置登录授权发起域 ...

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

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

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

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

  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. 手撸 webpack4.x 配置(一)
  2. 分享5个可视化的正则表达式编辑工具
  3. LabviewRS232串口通信数据格式问题解析
  4. vue 在进入某一个页面的时候,created方法不执行,----亲测,通俗易懂
  5. html文件上传数量限制,使用HTML中的input上传文件最多可以上传多少张?
  6. ActiveDirectory之不常用操作
  7. vscode for mac怎样关闭自动更新
  8. php$_GET 变量
  9. 关于缓存雪崩\穿透\击穿等一些问题
  10. 160 - 25 CodeZero.1
  11. 搞事 | 5分钟部署一个机器人帮你告别 “信息焦虑”
  12. 滴滴试行网约车遗失物品处理规则:司机返还遗失物品将收费
  13. 一篇文章,可以同时拥有4份收益,你知道吗?
  14. 高级装饰器---验证用户登录
  15. LeetCode 739. 每日温度
  16. 数据挖掘与商业智能理论
  17. 无线网卡无法获取dhcp服务器,无线网络无法获取网络IP地址
  18. 在VMware上,ubuntu和windows之间如何复制文本、拖拽文件?
  19. Arcgis学习1:arcgis下载and画一个省份
  20. Python中的几种乘法np.dot,np.multiply,*

热门文章

  1. 微信小程序开发的app---礼物说APP
  2. PCL1.9.0网盘资源分享(ALL IN ONE +PDB)
  3. Python-__getattr__与__getattribute__
  4. java画布制作弧形文字_QT 使用QPainter 绘制图形 和 世界变换 world transform
  5. python--mysql--驱动简介和使用
  6. SAP实施案例之亨得利集团
  7. 深圳, 香港, 台北之對比
  8. linux多进程和多线程分析之一
  9. B1094 谷歌的招聘 (20 分)
  10. ETL工程师_个人职责