SpringBoot:微信授权扫一扫登陆整体流程超详细

本文详细介绍了如何使用SpringBoot实现微信授权登陆,包括常见登陆方式对比、微信扫一扫功能开发前的准备、OAuth2.0交互流程、授权URL获取、回调获取用户信息等步骤,涉及微信开放平台的配置、HTTP请求封装和域名映射工具NATAPP的使用。
摘要由CSDN通过智能技术生成

在开始讲解微信登陆前先补一些知识点

Step1:常见互联网登陆方式

1.手机号或邮箱注册

优点

​ 1)企业获取了用户的基本资料信息,利于后续业务发展推送营销类信息

​ 2)用户可以用个手机号或者邮箱获取对应的app福利 注册送优惠券

​ 3)反馈信息的时候方便,直接报手机号即可账户出问题,被盗等

缺点:

​ 1)步骤多

​ 2)如果站点不安全,如站点被攻击,泄露个人信息,如手机号、密码等

​ 3)少量不良企业贩卖用户信息,如手机号等

2.OAuth2.0一键授权登陆

例子:豆瓣:www.douban.com

优点:使用便捷,用户体验好,数据相对安全

缺点:

​ 1)反馈问题麻烦,比较难知道唯一标识 openid

​ 22)如果是企业下面有多个应用,其中有应用不支持Auth2.0登陆,则没法左到用户信息打通,不能复用等,如app接入了微信授权登陆,但是网站没有,则打不通,或者授权方只提供了一种终端授权,则信息无法打通。

3.选择方式

1)看企业和实际业务情况

2)务必区分,普通密码和核心密码

Step2:微信扫一扫功能开发前准备

微信开放平台

网站:htts://open.weixin.qq.com/

无奈微信开放平台对开发者不友好,一定要公司营业执照 + 300元认证认证,才可以认证微信开放平台接入微信登录。

如果你有自己的应用,还需要备案等,但这里我会把整体的流程讲解

有三个点要注意

appid:就是你的应用唯一id

appsecret:密钥

code:授权码

redirect_url:授权回调域(这里重点说一下,你应用那里写的是多少,你的配置中一定要一样,)

比如你在当前www.baidu.com 微信登陆,微信那边会回调你配置的地址,它会把一些code重要参数给你,如果你地址不对,那么你就接收不到参数,自然后面的操作也是无法完成的。感觉有些懵继续往下看就明白了
在这里插入图片描述

封装一个Http请求类,用于我们扫一扫后向微信平台发请求获取信息用的

Step1:添加依赖
		<!--HttpClient-->
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpclient</artifactId>
			<version>4.5.3</version>
		</dependency>
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpmime</artifactId>
			<version>4.5.2</version>
		</dependency>
		<dependency>
			<groupId>commons-codec</groupId>
			<artifactId>commons-codec</artifactId>
		</dependency>
		<dependency>
			<groupId>commons-logging</groupId>
			<artifactId>commons-logging</artifactId>
			<version>1.1.1</version>
		</dependency>
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpcore</artifactId>
		</dependency>
		<!--gson工具,封装http的时候使用 做map类型的转换-->
		<dependency>
			<groupId>com.google.code.gson</groupId>
			<art
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值