伙伴们一起做了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

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

微信授权登陆步骤(微信客户端内)相关推荐

  1. 微信授权登陆接入第三方App(步骤总结)Android。

    这几天开发要用到微信授权的功能,所以就研究了一下.可是微信开放平台接入指南里有几个地方写的不清不楚.在此总结一下,以便需要的人. 很多微信公众平台的应用如果移植到app上的话就需要微信授权登陆了. 目 ...

  2. 微信授权登陆接入第三方App(步骤总结)Android

    微信授权登陆接入第三方App(步骤总结) 这几天开发要用到微信授权的功能,所以就研究了一下.可是微信开放平台接入指南里有几个地方写的不清不楚.在此总结一下,以便需要的人. 很多微信公众平台的应用如果移 ...

  3. 微信授权登陆介入第三方APP

    这几天开发要用到微信授权的功能,所以就研究了一下.可是微信开放平台接入指南里有几个地方写的不清不楚.在此总结一下,以便需要的人. 很多微信公众平台的应用如果移植到app上的话就需要微信授权登陆了. 目 ...

  4. 微信h5登录php,vue实现微信授权登录步骤详解

    这次给大家带来vue实现微信授权登录步骤详解,vue实现微信授权登录的注意事项有哪些,下面就是实战案例,一起来看一下. 背景 vue前后端分离开发微信授权 场景 app将商品分享到微信朋友圈或者分享给 ...

  5. web pc端 微信授权登陆 实例详解

    首先,看看微信官方文档,了解一下具体实现步骤 微信官方文档: 微信登陆开发指南 基本了解了微信登陆的流程后,然后我们再来一起踩坑 1.先去微信公众平台申请网站,appId,设置域名 2.调用微信地址生 ...

  6. uniapp微信公众号微信授权登陆实现

    正常不需要支付的项目一般不需要做微信授权登陆,有业务需要的可以加,我这边项目中使用了微信支付功能所以需要搞个微信授权登陆 进入到登陆页面首先要执行 onLoad(options) {if (optio ...

  7. 微信授权登陆【yixiyun】

    1,引入相关依赖(主要是最后一个) <dependency><groupId>com.github.binarywang</groupId><artifact ...

  8. 如何实现自有App上的小程序第三方微信授权登陆?

    对于微信小程序来说,有 OpenID 或 UnionID 作为唯一标识,微信授权登陆小程序账号是很容易实现的,但对于其他应用上的小程序来说(如支付宝.百度等),打通该登陆方式是比较麻烦的. 之前在Fi ...

  9. java 实现微信授权登陆

    附官方文档地址:小程序登陆 | 微信开放文档 编码前准备工作:开发之前我们需要准备两个东西AppID和AppSecret,需要到微信开放平台(https://open.weixin.qq.com)注册 ...

最新文章

  1. JQuery 动态创建表单,并自动提交
  2. 写给程序员的 18 幅对联,你能看懂几个?
  3. 前端性能优化——从 10 多秒到 1.05 秒
  4. tomcat优化设置
  5. 关于 DOM 操作的几个类型
  6. AngularJS实战之Controller之间的通信
  7. 【C++grammar】继承与构造test1代码附录
  8. 爱奇艺漫威等系列电影因版权到期下架 会员无补偿
  9. Hutool 工具类
  10. 海园帮忙写的JQUERY功能,实现了我们想要的,我觉得有点屌哟~~
  11. Windows Server 2012 虚拟化实战:网络(一)
  12. 基于BP神经网络识别手写字体MINST字符集
  13. Mac OS系统下,代码自动生成器无法使用解决方法
  14. win10 截屏方法
  15. python读取excel的路径
  16. 【八月英语----照亮我心】
  17. STM32F103驱动IIC OLED显示屏
  18. 百度地图API详解之地图标注
  19. 蓝桥杯官网python组基础练习-入门01-04
  20. 4数据结构与算法(C/C++实现)视频教程-王桂林-专题视频课程

热门文章

  1. 是华为所有手机都升级鸿蒙吗,华为手机全部型号,你的手机能升级吗?华为正式官宣:鸿蒙来了...
  2. ThingsPanel物联网平台添加萤石云摄像头视频播放地址
  3. 巅峰战舰服务器维护多久,巅峰战舰更新不断 死斗模式玩法解析
  4. Visual Studio Enterprise 2019序列号
  5. 教妹学Java:48 个关键字
  6. 双11,美的、格力们又盯上了厨房小家电
  7. タイ国内線空港 浸水被害拡大
  8. 零时科技|2021年,你应该了解的区块链安全
  9. 4-ChromeOptions Desiredcapabilities: AdBlocker, Incognito, Headless
  10. 利用jslint对javascript开展语法校验