企业微信实现扫码登录
企业微信实现扫码登录
最近在做公司的一个知识管理系统,其中登录部分分为账号密码和企业微信扫码登录两种。扫码登录并不是很复杂,这里简单分享一下。
企业微信扫码登录流程
企业微信提供了OAuth的扫码登录授权方式,可以让企业的网站在浏览器内打开时,引导成员使用企业微信扫码登录授权,从而获取成员的身份信息,免去登录的环节。
第一步:企业微信管理后台新建项目
新建项目
第二步:登录授权以及授权回调域名
登录授权
配置授权的回调域
要求配置的授权回调域,必须与访问链接的域名完全一致
第三步:代码开发
扫码登录目前有两种方式:
- 独立窗口登录二维码
- 内嵌登录二维码
独立窗口登录二维码
开发者需要构造如下的链接来获取code参数:
open.work.weixin.qq.com/wwopen/sso/…
参数说明:
参数 | 必须 | 说明 |
---|---|---|
appid | 是 | 企业微信的CorpID,在企业微信管理端查看 |
agentid | 是 | 授权方的网页应用ID,在具体的网页应用中查看 |
redirect_uri | 是 | 重定向地址,需要进行UrlEncode |
state | 否 | 用于保持请求和回调的状态,授权请求后原样带回给企业。该参数可用于防止csrf攻击(跨站请求伪造攻击),建议企业带上该参数,可设置为简单的随机数加session进行校验 |
lang | 否 | 自定义语言,支持zh、en;lang为空则从Headers读取Accept-Language,默认值为zh |
返回说明: 用户允许授权后,将会重定向到redirect_uri的网址上,并且带上code和state参数
redirect_uri?code=CODE&state=STATE
若用户禁止授权,则重定向后不会带上code参数,仅会带上state参数
redirect_uri?state=STATE
独立窗口登录二维码
内嵌登录二维码
为了满足网站更定制化的需求,企业微信还提供了第二种获取code的方式,支持网站将企业微信登录二维码内嵌到自己页面中,用户使用企业微信扫码授权后通过JS将code返回给网站。
JS企业微信登录主要用途:网站希望用户在网站内就能完成登录,无需跳转到企业微信域下登录后再返回,提升企业微信登录的流畅性与成功率。
网站内嵌二维码企业微信登录JS实现办法:
步骤一:引入JS文件
在需要展示企业微信网页登录二维码的网站引入如下JS文件(支持https):
旧版:rescdn.qqmail.com/node/ww/wwo…
新版(20210803更新):wwcdn.weixin.qq.com/node/wework…
步骤二:在需要使用微信登录的地方实例JS对象
注意:新版wwLogin-1.2.4.js需要使用new WwLogin进行实例化
var wwLogin = new WwLogin({
"id": "wx_reg", // 登录页面显示二维码的容器id
"appid": "", // 企业微信的CorpID,在企业微信管理端查看
"agentid": "", // 授权方的网页应用id,在具体的网页应用中查看
"redirect_uri": encodeURIComponent(url), // 重定向的地址,需要进行encode
"state": "",
"href": "", //自定义样式链接,只支持https协议的资源地址
"lang": "zh",
});
参数说明:
参数 | 必须 | 说明 |
---|---|---|
id | 是 | 企业页面显示二维码的DOM id |
appid | 是 | 企业微信的CorpID,在企业微信管理端查看 |
agentid | 是 | 授权方的网页应用ID,在具体的网页应用中查看 |
redirect_uri | 是 | 重定向地址,需要进行UrlEncode |
state | 否 | 用于保持请求和回调的状态,授权请求后原样带回给企业。该参数可用于防止csrf攻击(跨站请求伪造攻击),建议企业带上该参数,可设置为简单的随机数加session进行校验 |
href | 否 | 自定义样式链接,企业可根据实际需求覆盖默认样式。 |
lang | 否 | 自定义语言,支持zh、en;lang为空则从Headers读取Accept-Language,默认值为zh |
内嵌登录二维码
扫描成功
两种扫码方式,最后都是重定向到了我们约定的redirect_uri并且带上code和state参数,通过code可以换取用户access_token以及企业微信的用户信息。
上一篇: 企业真的有必要使用低代码平台吗?
推荐阅读
-
企业微信实现扫码登录
-
企业微信开发第三方应用的扫码授权登录
-
SpringBoot企业网站集成企业微信扫码登录实践 - 保姆指南教程
-
企业微信的活码
-
Vue 企业微信扫码登录
-
企业微信接入系列-扫码绑定/登录
-
翩翩仿微信扫码(扫码、图像翻译)
-
微信 "扫一扫 "物联网,全面揭秘 "扫一扫 "背后的扫盲技术!-1.1 扫一扫感知物体是做什么的? 1.1 微信扫一扫是做什么的? 扫一扫识物是指以图片或视频(商品图片:鞋/包/美妆/服饰/家电/玩具/图书/食品/珠宝/家具/其他商品)为输入媒介,挖掘微信内容生态中的有价值信息(电商+百科+资讯,如图1所示),并展示给用户。这里的电商基本涵盖了微信小程序覆盖上亿SKU的全量优质电商,可以支持用户货比N家并直接下单购买,百科和资讯则聚合了微信内的头部自媒体如搜狗、搜搜、百度等,向用户展示和分享拍摄商品相关的内容资讯。 图 1 扫一扫识别功能示意图 欢迎大家更新iOS新版微信→扫一扫→识货,亲自体验,也欢迎大家通过识货界面的反馈按钮向我们提交反馈意见。 扫一扫识物实景图展示 1.2 扫一扫识物有哪些使用场景? 扫一扫识物的目的是为用户访问微信内部生态内容开辟一个新窗口,以用户扫图片为输入形式,为用户提供微信生态内容中的百科、资讯、电商等作为展示页面。除了用户熟悉的扫一扫操作外,我们还将进一步拓展长按操作,让用户更方便地进行扫一扫操作。"扫一扫知事 "的落地场景主要涵盖三大部分: a. 科普知识: a.科普知识。用户通过扫一扫,可以在微信生态圈中获取该对象的百科、资讯等常识或趣闻,帮助用户更好地了解该对象; b.购物场景。同样的搜索功能支持用户看到喜欢的商品立即检索到微信小程序电商中的同款商品,支持用户即扫即购; c.广告场景。扫一扫识别物体可以辅助公众号文章、视频更好地理解其中蕴含的图片信息,从而更好地投放匹配广告,提高点击率。 1.3 Sweep Sense 为 Sweep 家族带来了哪些新技术? 对于扫一扫来说,大家耳熟能详的应该就是扫一扫二维码、扫一扫小程序码、扫一扫条形码、扫一扫翻译了。无论是各种形式的编码还是文字字符,都可以看作是图片的一种特定编码形式,而物的识别则是对自然场景图片的识别,这对于扫一扫家族来说是一个质的飞跃,我们希望从物的识别入手,进一步拓展扫一扫对自然场景图片的理解能力,比如扫酒、扫车、扫植物、扫人脸等服务,如下图3所示。 图 3 Sweep 家族
-
微信扫一扫的扫码功能是本地实现的还是网络化的?
-
共享爱奇艺会员登录方法:如何让他人扫码登录,实现两人共享一个VIP账号