微信授权登陆步骤

news/2024/11/9 0:45:31/

 

伙伴们一起做了Javaweb小项目,微信登录授权模块是我负责,给大家普及后顺便发到这里,如果有不足的地方欢迎提出!

进入项目任意页面

进入项目任意页面,后台首先会判断该用户是否登录。

若没有登录(即session中没有用户信息)并且以下两种情况任意一个时

1.      首次进入该公众号

2.      授权过期

就进入以下授权页面。

第一步:用户同意授权,获取code

页面显示一个让用户点击的微信url,让用户点击

 

 

当点击确认授权后,自动跳入后台写好的url,获取到code

code作为换取access_token的票据,每次用户授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期。

第二步:通过code获取网页授权access_token

然后后台逻辑再次请求微信的url并拼接code参数,该请求所返回的json串里含有access_token(接口调用凭证)以及openId(用户与此公众号的唯一标识)。

access_token有7天有效期。当access_token超时后,可以使用refresh_token进行刷新,refresh_token有效期为30天,当refresh_token失效之后,需要用户重新授权。

openId是用户与此公众号的唯一标识,永远唯一且不过期

第三步:通过access_token和openId获取用户信息

后台逻辑再次访问微信url并拼接两个参数,成功会返回下面的包含用户信息的json串,将用户信息存入数据库方便以后使用

 

第四步进入主页

完成以上授权,获取到用户信息后,标记该请求为已登录状态(即将用户信息放入session),后台逻辑跳入主页

 

授权登陆就此完成。

 

 

有兴趣继续看

这次授权了后,以后再次进入该项目,就从cookie中获取openId,就不用经过步骤一了(清空了cookie?那就再次授权咯),然后根据openid直接从数据库查到用户信息并标记该请求为已登录状态就可以了

 

附录:微信官方文档原文:

上面写的简略。如果你很爱学习很渴望力量,具体实现点链接:

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842

 

 如果有不足的地方欢迎提出!

 

 


http://www.ppmy.cn/news/806654.html

相关文章

如何取消html5微信页面授权,微信授权管理在哪里?查看微信授权过的第三方应用并取消授权的方法图解...

近日微信迎来了6.5.16版本的更新,主要修复了已知问题,但其实小编发现在这个新版本当中。微信低调新增了一个授权管理功能。对于之前使用微信账户登录或进行有关授权其他应用的用户来说,这个时候就可以取消授权了,在一定程度上防止…

微信小程序登录授权流程

文章目录 小程序授权登陆流程1、当用户进入微信小程序时,首先我们先判断用户是否授权过此小程序2、如果没有授权,我们通过一个按钮来实现授权登录3、通过bindgetuserinfo事件,我们可以获取到个人的信息、加密偏移数据、加密用户信息&#xff…

如何在微信中取消已授权的第三方应用APP

由于需要测试微信登录功能,在微信授权登录成功后需要解除绑定功能。一直没有找到对应的方法。偶然间在 “发现” > "游戏"里看见了最近在玩的列表中居然有相关的APP,然后在菜单中“游戏管理”取消游戏关联"即可。但是APP和游戏没有任何…

JavaFX学习:MVC模式中的PropertyValueFactory

PropertyValueFactory类是“TableColumn cell value factory”,绑定创建列表中的项。示例如下&#xff1a; TableColumn<Person,String> firstNameCol new TableColumn<Person,String>("First Name");firstNameCol.setCellValueFactory(new PropertyVal…

Python基础 P9 异常处理

文章目录 Python基础 P9 异常处理常用异常AssertionError断言语句失败AttributeError尝试访问未知的对象属性IndexError索引超出序列的范围KeyError字典中查找一个不存在的关键字NameError尝试访问一个不存在的变量OSError操作系统产生的异常SyntaxError Python的语法错误TypeE…

windows系统vbox增强工具安装

运行环境&#xff1a; - 宿主机&#xff1a;windows 10 - 虚拟机&#xff1a;windows 7 - 虚拟机平台&#xff1a;VMvirtualBOX 6 安装完虚拟机后&#xff0c;不能共享文件和粘贴板。需要安装增强工具&#xff0c;点击设备--vbox的安装增强工具没有反应。 在虚拟机中的资源管…

PCIe x8 x16

x8 一个x16 两个x8

XIB 的使用

1.如果xib是和.h 和.m文件一起创建的&#xff0c;从别的地方复制一个view&#xff0c;点击file’s Owner &#xff0c;按住Ctrl&#xff0c;拖到下面的view&#xff0c;点击view即可。 2&#xff0c;如果xib是后面创建的&#xff0c;点击file’s Owner &#xff0c;点击右侧栏…