微信扫码登录的两种方式:利用微信开放平台、利用微信公众平台(微信公众号)

本文主要是介绍微信扫码登录的两种方式:利用微信开放平台、利用微信公众平台(微信公众号),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

微信扫码登录,有两种实现方式:
方式1、微信开放平台是微信为了接入更多第三方应用而开放的接口,依赖公司在【微信开放平台】用【公司营业执照】注册的账号,才能实现扫码登录
方式2、微信公众平台是扫码通过微信公众号授权登录的,借助个人或者公司的微信公众号,生成微信带参二维码,实现扫码关注公众号后登录
大家要明确自己要用哪种方式。

其实还有一种场景是h5页面通过点击某个按钮(实际调用微信的网页授权接口)从而获取用户信息。这种场景可以参考这个视频------->地址

本文只详细介绍第一种方式---------- 【微信开放平台】

第一种方式: 【微信开放平台】

现在微信的使用用户越来越多,如果网站添加上微信登录,就能节省很多用户注册时间,极大缩小了注册流程。会让用户觉得特别方便。接下来我们就说一下怎么来实现PC端微信扫码登录。

第一步:微信开放平台账户申请

网址:微信开放平台

1.首先我们要做的就是进入到微信开放平台申请一个开放平台账户,获得资质!

(1) 支持企业类型(以前只支持企业注册)

(2) 注册之后,会给你提供微信id和微信密钥

ps:注册需要准备营业执照、1-2个工作日审批、300元认证费

进入页面以后,点击注册按钮,开始注册我们的新账户。按照要求一步一步完成注册即可 

2. 申请网站应用名称。

进入到开放平台的“管理中心”=》“网站应用” 然后创建网站应用就能创建自己的网站应用了。

就是说你扫描二维码,它会显示当前网站的应用名称,这个一般在7个工作日内审批。

审核通过后,列表就会可以查看到这个网站应用,点击查看可以获取到appIdappSecret了。

3. 设置回调域名,需要域名地址。

地址作用:这个回调域名是我们扫码完成以后跳转的页面,这时这个页面上会返回微信给我们的code,基于这个code我们就能够拿到微信用户的信息,开进行登录了。设置跟appSecret一样也是在详情页面。


 接下来开始在前端去实现这个扫码功能

微信登录功能官方文档

文档中提到了两种方式去让用户扫码,也可以说是二维码展示的两种方式。

一种是跳转二维码扫描页面,另一种是内嵌式二维码。大家可以根据需要自行选择。

整个流程大致是这样子:

①第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数;

②通过code参数加上AppID和AppSecret等发送给后端,后端通过API换取access_token;

③后端通过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。

接下来详细描述过程:

首先两种二维码展示的方式:

内嵌式二维码:(微信官方文档里面可以找到下面步骤)

1.首先在页面引入http://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js,如果网站支持https那就把前缀改为https

2.在需要使用微信登录的地方实例以下JS对象:

var obj = new WxLogin({self_redirect:true,id:"login_container", appid: "", scope: "", redirect_uri: "",state: "",style: "",href: ""});

参数说明: 

ps:这个回调地址就是我们之前在配置文件中配置的redirect_url重定向地址,它是当初注册资质时填写的域名地址。

在页面内定义一个div来显示二维码,这个id要传入创建二维码的方法,下面这个方法接收的ID就是容器的ID。 

这样就可以把二维码展示出来了

跳转二维码扫描页面

 直接请求微信提供的固定的地址,向地址的后面拼接参数即可。

https://open.weixin.qq.com/connect/qrconnect?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirects
 

参数说明:(详见官方文档)

ps:这个回调地址就是我们之前在配置文件中配置的redirect_url重定向地址,它是当初注册资质时填写的域名地址。

通过上面两种二维码的展示方式后,我们可以拿到code,接下来通过微信提供的api换取用户access_token,和openid

https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

 

返回说明

正确的返回:

{ 
"access_token":"ACCESS_TOKEN",   //接口调用凭证
"expires_in":7200,               //access_token接口调用凭证超时时间,单位(秒)
"refresh_token":"REFRESH_TOKEN",  //用户刷新access_token
"openid":"OPENID",                //授权用户唯一标识
"scope":"SCOPE",                  //用户授权的作用域,使用逗号(,)分隔
"unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"   //当且仅当该网站应用已获得该用户的userinfo授权时,才会出现该字段。
}

 

这篇关于微信扫码登录的两种方式:利用微信开放平台、利用微信公众平台(微信公众号)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Security OAuth2 单点登录流程

单点登录(英语:Single sign-on,缩写为 SSO),又译为单一签入,一种对于许多相互关连,但是又是各自独立的软件系统,提供访问控制的属性。当拥有这项属性时,当用户登录时,就可以获取所有系统的访问权限,不用对每个单一系统都逐一登录。这项功能通常是以轻型目录访问协议(LDAP)来实现,在服务器上会将用户信息存储到LDAP数据库中。相同的,单一注销(single sign-off)就是指

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

W外链微信推广短连接怎么做?

制作微信推广链接的难点分析 一、内容创作难度 制作微信推广链接时,首先需要创作有吸引力的内容。这不仅要求内容本身有趣、有价值,还要能够激起人们的分享欲望。对于许多企业和个人来说,尤其是那些缺乏创意和写作能力的人来说,这是制作微信推广链接的一大难点。 二、精准定位难度 微信用户群体庞大,不同用户的需求和兴趣各异。因此,制作推广链接时需要精准定位目标受众,以便更有效地吸引他们点击并分享链接

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

内核启动时减少log的方式

内核引导选项 内核引导选项大体上可以分为两类:一类与设备无关、另一类与设备有关。与设备有关的引导选项多如牛毛,需要你自己阅读内核中的相应驱动程序源码以获取其能够接受的引导选项。比如,如果你想知道可以向 AHA1542 SCSI 驱动程序传递哪些引导选项,那么就查看 drivers/scsi/aha1542.c 文件,一般在前面 100 行注释里就可以找到所接受的引导选项说明。大多数选项是通过"_

如何解决线上平台抽佣高 线下门店客流少的痛点!

目前,许多传统零售店铺正遭遇客源下降的难题。尽管广告推广能带来一定的客流,但其费用昂贵。鉴于此,众多零售商纷纷选择加入像美团、饿了么和抖音这样的大型在线平台,但这些平台的高佣金率导致了利润的大幅缩水。在这样的市场环境下,商家之间的合作网络逐渐成为一种有效的解决方案,通过资源和客户基础的共享,实现共同的利益增长。 以最近在上海兴起的一个跨行业合作平台为例,该平台融合了环保消费积分系统,在短

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

用命令行的方式启动.netcore webapi

用命令行的方式启动.netcore web项目 进入指定的项目文件夹,比如我发布后的代码放在下面文件夹中 在此地址栏中输入“cmd”,打开命令提示符,进入到发布代码目录 命令行启动.netcore项目的命令为:  dotnet 项目启动文件.dll --urls="http://*:对外端口" --ip="本机ip" --port=项目内部端口 例: dotnet Imagine.M