企业微信之——扫码登录
参考文献
- 扫码授权登陆
配置企业微信应用设置
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参数回调业务按需处理
企业微信之——扫码登录相关推荐
- 微信或企业微信实现扫码登录的三种方式
通过微信或企业微信扫码登录PC管理后台,替代传统的账号.密码登录. 为了完成这个功能,疯狂百度各种扫码登录的技术文章,能实现微信或企业微信扫码登录的方式可以说有三种: 1.注册一个微信资源开放平台账号 ...
- 企业微信实现扫码登录
一:获取扫码登陆所需的参数:appid,secret,agentid 登录企业微信:https://work.weixin.qq.com/ 扫码登录文档:https://work.weixin.qq. ...
- 企业微信服务商扫码登录
准备步骤 申请注册企业微信: 企业注册后,需要申请微信服务商 企业微信服务商官网: PS:上述不是本章的主要内容,不做过多详解 进入服务商后台 应用管理–> 登录授权–>设置登录授权发起域 ...
- pc端集成企业微信的扫码登录及遇到的问题
集成步骤: 1.在企业微信后台中添加应用 2.记录下应用的相关信息,在后文要用到 3.引入企业微信js 旧版:http://rescdn.qqmail.com/node/ww/wwopenmng/js ...
- 企业微信第三方扫码登录
为什么写这个文章 公司后台突然需要扫码登录,网上的企业微信扫码都是基于自建应用的扫码登录,对第三方的扫码并没有多加介绍 概述 企业微信的管理员和成员,可通过单点登录机制,登录到第三方网站.第三方可通过 ...
- 企业微信+esaywechat 扫码授权登录
企业微信+esaywechat 扫码授权登录 相关 相关 这里用的是 Yii2 框架. 安装easywechat: composer require overtrue/wechat:~4.0 -vvv ...
- CAS在windows AD下实现企业微信自动扫码登陆的总结
基础名词 CAS(Central Authentication Service),可以看作中心授权服务器 SSO(Single Sign On),单点登录 SSO相关知识 同域SSO(blog.212 ...
- 淘宝和微信的扫码登录实现原理
目录 基本技术原理 扫码登录功能到底是什么样的? 扫码登录功能的完整技术逻辑 1)网页端与服务器的配合逻辑: 2)手机端与服务器的配合逻辑: 3)登录成功时的逻辑: 4)详细的技术原理总结如下图所示: ...
- 微信网页扫码登录与微信公众号授权登录的区别
最近着手开发了微信网页扫码登录和公众号授权登录收获颇丰,两者的开发很类似.以下是我个人摸索过程中发现的两者的异同: 两者都可以通过微信客户端扫码授权的方式,让第三方页面获得微信用户的一些基本信息(昵称 ...
最新文章
- golang 映射 map 简介
- Java IO: Buffered和Data
- MTK 平台上查询当前使用的摄像头模组及所支持预览分辨率
- excel 复制数据 sql server 粘贴_数据资料复制粘贴麻烦?教你硬盘对拷资料
- 香帅的北大金融学课笔记2 -- 银行
- 关于 app测试工具
- sklearn自学指南(part41)--使用手册的目录
- 『设计模式』JAVA I/O 与装饰者模式UML图
- 允许服务与桌面交互_vivo 正式推出 Origin OS,融合自然设计与全新交互
- 简单的C语言开源软件,自己写的一个简单的数据库...完整开源...
- 学会爱,也学会批处理
- 公式推导 11-14
- iOS:Tagged Pointer
- 深入理解Nginx——链接
- 全国计算机等级考试二级C语言程序设计考点整理
- 怎么把电脑上的python软件卸载干净_怎么把一个软件卸载干净_把一个软件卸载干净的两种方法-系统城...
- 运维流程管理:保障运维管理效能的推手
- requestLayout() improperly called by
- chapter5. Java数据结构与java算法
- 一个好的浏览器是多么重要,强烈推荐一个好用的浏览器.........
热门文章
- Java实现第九届蓝桥杯快速排序
- Objective-C(八、正式协议Protocol,非正式协议informal protocol)——iOS开发基础
- Android Studio项目打包:3、Android Studio生成的apk究竟在哪里?(非正式打包)
- 【论文笔记】Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspectivewith Transformers
- Diva无法运行LVS问题(virtuoso,layout)
- Unity打包ARCore程序踩过的坑
- 使用python turtle库绘制一个三角形_使用turtle库绘制一个叠加等边三角形,图形效果如下:...
- Java中Collections类概述和使用
- 学生环境网页设计模板下载 保护环境大学生HTML网页制作作品 简单环境网页设计成品 dreamweaver学生网站模板
- gataway 组件的健权、限流、过滤等功能分析(三十一)