H5使用微信OAuth2.0授权登录,并实现内网调试。

如图在H5网页内实现微信授权登录

H5实现微信授权登录的流程不在过多赘述官方文档传送门,下面直接上如何在开发状态下实现授权登录调试。

1.准备工作。

  1. 微信公众号的开发权限,配置后续会讲。
  2. 内网穿透工具。
  3. 一个node服务 点这里koa2快速搭建,传送门。

2.公众号配置

公众号设置
如图所示点击网页授权域名设置
在这里插入图片描述
将这个文件txt下载到本地,下面的域名就是回调域名,可以为http协议。

3.node服务配置

const Router = require('koa-router');
const router = new Router({
    prefix: '/',
});
router.get('这个就是下载的文件名包括文件格式名', async (ctx, next) => {
    ctx.type = 'text';
    ctx.body = '文件里面的内容';
});
router.get('call_back', (ctx) => {
//重定向到code获取页面
ctx.redirect(`H5项目穿透外网地址/#/H5项目空白页面路由?code=${ctx.query.code}`);
});

module.exports = router;

4.H5登录实现

  1. 点击登录跳转微信授权页面,利用window.location.href,代码如下:
window.location.href =
				'https://open.weixin.qq.com/connect/oauth2/authorize?appid=公众号appid&redirect_uri=自己起的node服务穿透后的外网地址/call_back&response_type=code&scope=snsapi_userinfo&state=STATE%23wechat_redirect';
  1. 跳转到空白页面获取的逻辑,代码如下:
<template>
	<view></view>
</template>

<script>
export default {
	data() {
		return {};
	},
	methods: {
		loginForH5(code) {
			//微信登录H5
			auth.H5login({ code})
				.then(res => {
					if (res.accessToken) {
						this.$store.commit('SET_LOGIN', true);
						uni.setStorageSync('accessToken', res.accessToken);
					}
				})
				.catch(({ data, status }) => {
					console.log('h5err-------->', status, data);
						uni.showToast({
							icon: 'error',
							title: '出现未知错误!',
							duration: 1000,
							success: () => {
								uni.switchTab({
									url: '/pages/home/index',
									fail: e => {
										console.error(e);
									}
								});
							}
						});
				});
		},
		//获取链接参数
		urlPamras() {
			let url = window.document.location.href.toString(); //获取的完整url
			let u = url.split('?');
			if (typeof u[1] == 'string') {
				u = u[1].split('&');
				let get = {};
				for (let i in u) {
					let j = u[i].split('=');
					get[j[0]] = j[1];
				}
				return get;
			} else {
				return {};
			}
		}
	},
	onLoad() {
		const code = this.urlPamras()['code'];
		console.log('授权回调--------------', code);
		if (code) {
			this.loginForH5(code);
		} else {
			uni.showToast({
				icon: 'error',
				title: '出现未知错误!',
				duration: 1000,
				success: () => {
					uni.switchTab({
						url: '/pages/home/index',
						fail: e => {
							console.error(e);
						}
					});
				}
			});
		}
	}
};
</script>

5.外网穿透

在这里插入图片描述

最后

总的思路就是:
H5穿透拿到本地服务的外网地址——>node本地服务穿透外网地址——>node服务接收TX授权code——>重定向到H5外网地址

主要不想一天老发布测试H5,然后把后端惹毛了。无奈之举,原创不易,点赞加收藏。

alonesupermen
关注 关注
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微信公众号 - 第三方网页(H5授权登录OAuth2.0)流程及逻辑详细教程
王佳斌
03-14 1万+
前言 在微信客户端中访问第三方网页,公众号可通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。 关于公众号网页授权, 网上博客教程,大部分都没有逻辑性(零零散散),准确说没有站在 新手角度 去写作。 本文将以小白的角度,从 0 到 1 完成 前端授权登录,非常详细。 准备阶段 这个地址,后续将用于多处(作为回调地址)。 先将您的项目通过本地服务跑起来,获取一个 Network 可访问的网络。 一、申请测试公众号 测试必须有服务号且已认证,但直接用公司或个人线上公众号不仅不安全且调试
微信开发 - 详细实现第三方网站或H5网页使用微信支付、微信授权登录时,本地开发环境提示redirect_uri参数错误无法调试,让本地项目运行IP地址就能测试支付或登录,无需每次部署到服务器上调试
王佳斌
08-13 6385
vue2,nuxt2,vue3,nuxt3,uniapp,微信开放平台,公众号,微信支付,微信登录授权,redirect_uri参数错误,本地调试,报错,如何在本地就能测试,vue跑出来的ip地址,微信支付回调错误,微信登录回调错误,公众号网页本地调试内网穿透,调用微信支付提示,内网穿透本地调试,如何在测试环境进行支付测试,必须要传到线上才行吗,在测试环境里无法测试怎么办,手机h5移动端,pc网页,公众号页面,映射,host,本地回调地址,微信开放平台的回调域名怎么设置为本地域名IP,在本地调试不了怎么办
auth2.0 安装包及资料学习(包含个版本的php_oauth.dll)
06-25
auth2.0 安装包及资料学习(包含个版本的php_oauth.dll),里面包含demo及学习资料的整合
h5页面真机调试
最新发布
colgirl的博客
09-11 280
注意,微信开发者工具最新的1.0版本不支持移动端调试,必须是旧版,下载链接:https://pan.baidu.com/s/1dwf3ZJ1MpxOnfcKkzzBRAQ 提取码: igin。第一个选项打开微信扫码,提示503,选择普通调试,直接按步骤操作就行。需要注意的是,真机设置了代理,微信无法直接打开https网页,请求的api如果是https也会返回空。电脑chrome打开chrome://inspect/#devices。1、 使用微信开发者工具。2、使用vconsole。
h5 微信公众号本地调试内网穿透】前端uniapp 后端java springboot
weixin_40918145的博客
12-19 2622
点击左侧仪表盘的状态——在线隧道列表,可以看到刚刚创建的隧道已经有生成了相应的公网地址,一个http协议,一个https协议(免去配置ssl证书的繁琐步骤),均可以访问到本地web服务,复制公网地址。如果提示没有权限保存,将hosts文件拖拉至桌面,用编辑工具打开后,编辑,保存,再拖拉回 C:\Windows\System32\drivers\etc。提示隧道创建成功后,页面自动跳转至隧道列表,可以看到刚刚创建成功的tunnel-1隧道,状态active,表示为正常在线,注意无需再次点击启动。
微信网页授权调试
weixin_30907935的博客
03-14 428
使用场景:在微信网页授权流程(前端篇)中谈到微信授权的基本流程,现在开发完成,服务也部署完成。由于开发的网页是嵌在微信内置浏览器里,在手机端调试有诸多不便,因为微信专门提供了web开发者工具用来调试,它是一个桌面应用,通过模拟微信客户端的表现使得开发者可以使用这个工具方便地在PC或者Mac上进行开发和调试工作。本文内容为用web开发着工具来调试微信网页授权。 1.下载对应版本web开发工具。 下载...
微信公众号-H5页面的微信授权登录和支付配置及流程
yjl23332的博客
06-30 3364
最近做的项目中,有需要配置微信H5支付的,所以记录一下。 前期准备: 1.微信公众号开发,首先要搞一个公众号,开发阶段可以申请一个公众平台测试账号。 (进入到微信公众公众平台,找到开发者工具,点开公众平台测试账号) 2.进入测试平台账号后台,找到体验接口权限表,配置授权回调页面域名。 (微信授权登录成功后会回调一个页面,此页面必须在此域名下) 3.记录一下appID和appsecret 授权登录: 微信公众平台技术文档: https://mp.weixin.qq.com/wiki?t=resource/
H5微信公众号授权登录
WANGLING0108的博客
03-17 1218
H5微信公众号授权登录
微信公众号利用测试号实现本地调试微信登录授权
wytccc的博客
12-22 2982
微信小程序可以通过内置uni.login获取到code,但是微信公众号h5想要微信授权登录,首先需要跳转到https://open.weixin.qq.com/connect/oauth2/authorize?appid=&redirect_uri=&response_type=code&scope=snsapi_userinfo#wechat_redirect去授权,同意授权之后,会自动跳转到redirect_uri指向的地址,并在查询字符串中携带回了code,拿到code之后再进行登录等一系列操作
鉴权 OAuth 2.0的实现(Spring_Security_Oauth2)
qq_25156781的博客
01-28 3017
可以理解为客户端和服务器之间的一次私密谈话,在一次对话中可能会有多个请求和响应;同时要具有鉴别多个请求是来自同一个客户端的一次对话的功能;用户认证通过后,为了避免用户的每次操作都进行认证,可将用户的信息保证在会话中。会话就是系统为了保持当前用户的登录状态所提供的机制,常见的有基于session方式、基于token方式等。
uniapp 实现企业微信网页授权登录
郭宝的博客
04-03 2731
需求: 想在企业微信中打开网页获取成员的身份信息,从而免去登录的环节,实现无感登录。4、然后打开自建应用,设置应用打开时默认访问的H5地址。REDIRECT_URI 网页授权回调地址。例如:xxx.com:8083。3、输入应用相关数据,进行创建。CORPID 为企业微信id。AGENTID 应用id。1、进入企业微信管理后台(7、设置企业微信授权地址。8、前端拼接网页授权链接。6、配置企业可信IP。5、然后设置可信域名。
新浪OAuth2.0示例.html
07-07
新浪OAuth2.0示例
开发微信公众号H5,如何本地调试【爽歪歪】
qq_31496915的博客
12-01 5248
最近开发公众号h5,需要获取公众号用户的code,但是是根据微信公众号提供的方式,是对url地址进行重定向,前提还要在公众号后台配置【网页授权域名】,这玩意还不能是ip地址,也就是说,本地调试不了,盲写完后,每次需要部署到测试环境进行调试,修改一次部署一次,烦死了!!!因为公众号【网页授权域名】不能是ip地址和外网不能访问内网,那么可以借助内网穿透工具。具体步骤如下
微信公众号内网穿透本地调试微信授权
qq_41309583的博客
01-03 1224
微信公众号内网穿透本地调试一直以来都比较麻烦 怕自己忘记, 记录一下。
轻松理解OAuth2.0协议(多图)
weixin_33724046的博客
12-24 287
前言 最近有一个简单的需求需要在一个微信公众号外部的H5页面中使用微信登录(接入),同时还要在内部使用第三方支付接口完成支付(不使用微信支付). 无奈队友不给力只好自己研究了一下具体的流程,不出意料的是这两个接入商提供的SDK不同另外微观操作不同,但是基本流程是相似的. 理解了其中的规则觉得很有意思,边萌生出了使用简单的几张图片来解释OA...
微信公众号搭建内网穿透骨灰级教程
u010905359的博客
07-15 838
将“令牌(Token)”,“消息加解密密钥(EncodingAESKey)”和“接口配置信息”中的“URL”都设置为 http://你的隧道域名/你的隧道路径。微信公众号是我们日常使用的小工具,很多企业都会去申请微信公众号,但为了及时获取推送消息,需要开发者自己去调用微信公共号接口进行功能扩展和对接,将“服务器配置”中的服务器地址设置为 http://你的隧道域名/你的隧道路径。在神卓互联客户端中,“我的隧道”页面将会显示隧道的公网访问地址。在你的本地机器上启动用于微信公众号开发的本地服务。
本地测试微信授权登录
yiguang_820的博客
01-02 1000
本人配置的,如下就可以了,开始配置的127.0.0.1一直失败。先完成以上流程,然后一直提示redirect_uri错误。
企业微信H5-OAuth2静默登录如何在本地进行调试开发简记
橘子花会开
07-03 623
企业微信官网接口参考。
微博开放平台SDK 移动端的H5方式授权过程分析
super黑兔的博客
02-16 5115
最近公司要做一个sdk,仿照微博开放平台。要写移动sdk,并且采用H5页面进行授权。看了几天微博SDK源码,终于理解了微博如何做到通过H5页面授权,并回调移动端的方法返回授权码,access Token等信息,在此做个记录。 对于用户认证采用OAuth2.0协议,以下是从微博copy过来的Oauth2授权机制。 OAuth2.0协议这里不作具体分析。主要通过微博sdk的demo
iOS应用集成微信OAuth2.0授权登录全攻略
总结来说,实现微信授权登录在iOS应用中的关键在于理解OAuth2.0的工作原理,正确配置和调用微信的API,以及处理不同系统版本可能带来的网络协议兼容性问题。开发者需要参考微信官方的开发者文档,确保遵循其指导原则...
写文章

热门文章

  • 简单的用React+antd实现简单Select 下拉多级联动; 5501
  • 在Vue2.x中使用wangEditor3.x富文本,添加自定义按钮,并使用自己的组件上传图片。 2915
  • Vue + Vuetify使用感受以及部分自定义组件 2521
  • H5使用微信OAuth2.0授权登录,并实现内网调试。 1669
  • 解决vue2.x导出blob流的excel乱码问题 1488

分类专栏

  • element ui 2篇
  • antd 1篇

最新评论

  • Vue + Vuetify使用感受以及部分自定义组件

    OnismYY: vuetify是越用越好用系列

  • 在Vue2.x中使用wangEditor3.x富文本,添加自定义按钮,并使用自己的组件上传图片。

    乐喵。: 大佬有没有vue3的

最新文章

  • H5唤醒微信小程序指定页面
  • Vue + Vuetify使用感受以及部分自定义组件
  • 解决vue2.x导出blob流的excel乱码问题
2023年1篇
2022年3篇
2021年1篇
2020年2篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳坪山网站建设公司属于网站优化内容中山营销型网站优化方案网站优化效果不佳网站怎样去优化昆明百度网站推广优化电影网站优化运营方案路由优化大师官方网站从化企业网站推广优化费用惠东网站优化价格增城市网站关键词优化兰州网站标题优化武强县网站优化排名软件郑州鹤壁网站推广优化河源专注网站优化青岛网站优化靠谱宣城网站关键词排名优化哪家好林州做网站优化可以用于seo优化网站模版金牛区家居网站优化辽宁好的教育行业网站优化查询网站打开速度优化福山区搜索引擎优化推广网站石林网站优化方式武汉企业网站做优化长沙网站优化公司哪家好网站优化和推广正确选择云速捷网站制作网站优化小程序开发上海网站优化排行罗湖广告网站优化计划万词优化网站香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化