企微扫码登录

2024-06-13 17:52
文章标签 登录 扫码 企微

本文主要是介绍企微扫码登录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

企微扫码登录

企微的扫码登录官网有较为详细的文档扫码授权登录 - 文档 - 企业微信开发者中心 (qq.com),对主要流程有详细说明且对部分代码有示例。

扫码登录有两种方式,一种是跳转到扫码页面,一种是内嵌二维码,因为第二种接受度更高所以这里以第二个为例:

1.引入资源

首先需要在网页中引入企微的指定资源http://rescdn.qqmail.com/node/ww/wwopenmng/js/sso/wwLogin-1.0.0.js

如果是我们传统的单页面应用则直接在index.html中引入即可,如果有更个性化的引入方式则按项目要求引入即可。

2.构建二维码容器

因为企微其实是通过js生成iframe来展示二维码的,所以我们需要给这个iframe创建一个容器,该容器需要一个id值。

3.创建实例

有了容器以后我们就可以创建实例了:

window.WwLogin({"id" : "wx_reg",  "appid" : "", // ww0aa11a1aaa111a11 在企微管理平台获取"agentid" : "", // 1000000  在企微管理平台获取"redirect_uri" :"", // https://www.baidu.com/login  需要和在企微管理平台开启企业微信授权登录时设置的域名保持一致"state" : "","href" : "", // 定制化css
});

这里照着填参数即可,如果某些参数为了数据的安全性不准备保存在前端那么让后端提供一个接口返回即可。

这里需要注意的是redirect_uri的域名一定要和企微管理平台开启扫码登录时设定的域名一直,否则会提示域名不一致。

4.扫码成功后获取信息

在用户扫码确认后,页面会被重定向值redirect_uri,同时会携带两个参数codestate。一般来说我们会重定向至login页面,根据路由传递的参数我们可以拿到code参数,拿到code参数以后就可以请求企微制定的接口去获取信息https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token=ACCESS_TOKEN&code=CODE,一般来说这个接口的请求是需要后端的请求的,所以我们让后端提供一个接口将code传递给后端,后端请求后拿到用户信息并生成token返回。

5.获取信息后跳转

拿到接口返回的token以后,我们就可以像账号密码登录一样走后续流程即可。

这篇关于企微扫码登录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1058011

相关文章

Spring Security 单点登录与自动登录机制的实现原理

《SpringSecurity单点登录与自动登录机制的实现原理》本文探讨SpringSecurity实现单点登录(SSO)与自动登录机制,涵盖JWT跨系统认证、RememberMe持久化Token... 目录一、核心概念解析1.1 单点登录(SSO)1.2 自动登录(Remember Me)二、代码分析三、

Ubuntu 24.04启用root图形登录的操作流程

《Ubuntu24.04启用root图形登录的操作流程》Ubuntu默认禁用root账户的图形与SSH登录,这是为了安全,但在某些场景你可能需要直接用root登录GNOME桌面,本文以Ubuntu2... 目录一、前言二、准备工作三、设置 root 密码四、启用图形界面 root 登录1. 修改 GDM 配

nginx 负载均衡配置及如何解决重复登录问题

《nginx负载均衡配置及如何解决重复登录问题》文章详解Nginx源码安装与Docker部署,介绍四层/七层代理区别及负载均衡策略,通过ip_hash解决重复登录问题,对nginx负载均衡配置及如何... 目录一:源码安装:1.配置编译参数2.编译3.编译安装 二,四层代理和七层代理区别1.二者混合使用举例

CSS3打造的现代交互式登录界面详细实现过程

《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.

Java中的登录技术保姆级详细教程

《Java中的登录技术保姆级详细教程》:本文主要介绍Java中登录技术保姆级详细教程的相关资料,在Java中我们可以使用各种技术和框架来实现这些功能,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录1.登录思路2.登录标记1.会话技术2.会话跟踪1.Cookie技术2.Session技术3.令牌技

SpringBoot后端实现小程序微信登录功能实现

《SpringBoot后端实现小程序微信登录功能实现》微信小程序登录是开发者通过微信提供的身份验证机制,获取用户唯一标识(openid)和会话密钥(session_key)的过程,这篇文章给大家介绍S... 目录SpringBoot实现微信小程序登录简介SpringBoot后端实现微信登录SpringBoo

kali linux 无法登录root的问题及解决方法

《kalilinux无法登录root的问题及解决方法》:本文主要介绍kalilinux无法登录root的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录kali linux 无法登录root1、问题描述1.1、本地登录root1.2、ssh远程登录root2、

springboot security验证码的登录实例

《springbootsecurity验证码的登录实例》:本文主要介绍springbootsecurity验证码的登录实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录前言代码示例引入依赖定义验证码生成器定义获取验证码及认证接口测试获取验证码登录总结前言在spring

最新Spring Security实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)

《最新SpringSecurity实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)》本章节介绍了如何通过SpringSecurity实现从配置自定义登录页面、表单登录处理逻辑的配置,并简单模拟... 目录前言改造准备开始登录页改造自定义用户名密码登陆成功失败跳转问题自定义登出前后端分离适配方案结语前言

Oracle登录时忘记用户名或密码该如何解决

《Oracle登录时忘记用户名或密码该如何解决》:本文主要介绍如何在Oracle12c中忘记用户名和密码时找回或重置用户账户信息,文中通过代码介绍的非常详细,对同样遇到这个问题的同学具有一定的参... 目录一、忘记账户:二、忘记密码:三、详细情况情况 1:1.1. 登录到数据库1.2. 查看当前用户信息1.