thymeltesys thymelte是一个基于Spring Boot Oauth2的扫码登录框架,使用PostgreSQL存储数据,之后会慢慢支持其他关系型数据库.即使你不使用整个框架,只使用其中的模块,也很容易在现有的项目中集成. 项目地址https://github.com/jeesun/thymelte 希望大家多多支持,并指出不足. 若使用过程中有任何疑问或者问题,请提交issues,我会及时回复. 系统各模块功能概览: 模块功能 thymelte 查看截图https://githu…
在现今很多网站里面,都使用了微信开放平台的扫码登录认证处理,这样做相当于把身份认证交给较为权威的第三方进行认证,在应用网站里面可以不需要存储用户的密码了.本篇介绍如何基于微信开放平台的扫码进行网站的登陆处理. 1.开放平台的认证 要使用网站的扫码登录处理,就需要先进行微信开放平台帐号的开发者资质认证,提交相关的资料,以及交付每年300元的认证费用. 认证后,建立相关的网站应用后,就有相关的APPID和APPSecret了,这些关键的参数就可以用来获取相关的用户信息了. 网站应用的应用详情界面如下…
这里的3行代码并不是指真的只需要写3行代码,而是基于我已经写好的一个Spring Boot Oauth2服务.仅仅需要修改3行数据库配置信息,即可得到一个Spring Boot Oauth2服务. 项目地址https://github.com/jeesun/oauthserver oauthserver 简介 oauthserver是一个基于Spring Boot Oauth2的完整的独立的Oauth服务器.仅仅需要创建相关数据表,修改数据库的连接信息,你就可以得到一个Oauth服务器. 支持的…
在前面随笔<C#开发微信门户及应用(41)--基于微信开放平台的扫码登录处理>介绍了基于微信开放平台接口实现的微信扫码直接登录的过程.本篇介绍对扫码登录的一些改进和处理,以便更方便应用在实际项目中. 1.扫码登录配置处理 在我前面的随笔扫码登录处理中,介绍了账号登陆和扫码登录并存的情况,有时候我们可能想只是允许用户扫码登录即可,也就是不需要账号登陆,这种情况我们可以通过进行配置实现处理.例如我在一个基于微信的系统应用里面,通过配置实现了仅仅允许扫码登录的效果.也就是我们可以根据配置,因此其他登…
 前言 基于之前两篇(<spring boot高性能实现二维码扫码登录(上)——单服务器版>和<spring boot高性能实现二维码扫码登录(中)——Redis版>)的基础,我们使用消息队列的订阅与发布来实现二维码扫码登录的效果. 一.实现原理 1.参考微信的二维码登录机制 首先,请求后端拿到二维码.然后通过http长连接请求后端,并获取登录认证信息.这时,当二维码被扫,则记录seesion并跳转至内部页面. 如果没有扫码二维码,则线程会等到30秒(也有的说是20秒),如果再此期…
前言 目前网页的主流登录方式是通过手机扫码二维码登录.我看了网上很多关于扫码登录博客后,发现基本思路大致是:打开网页,生成uuid,然后长连接请求后端并等待登录认证相应结果,而后端每个几百毫秒会循环查询数据库或redis,当查询到登录信息后则响应长连接的请求. 然而,如果是小型应用则没问题,如果用户量,并发大则会出现非常严重的性能瓶颈.而问题的关键是使用了循环查询数据库或redis的方案.假设要优化这个方案可以使用java多线程的同步集合+CountDownLatch来解决. 一.环境 1.ja…
前言 本打算用CountDownLatch来实现,但有个问题我没有考虑,就是当用户APP没有扫二维码的时候,线程会阻塞5分钟,这反而造成性能的下降.好吧,现在回归传统方式:前端ajax每隔1秒或2秒发一次请求,去查询后端的登录状态. 一.支付宝和微信的实现方式 1.支付宝的实现方式 每隔1秒会发起一次http请求,调用https://securitycore.alipay.com/barcode/barcodeProcessStatus.json?securityId=web%7Cauthcen…
本框架基于Spring Boot实现,使用注解完成快速开发,可以快速的完成一个微信公众号,重新定义公众号开发. 在使用本框架前建议对微信公众号开发文档有所了解,不过在不了解公众号文档的情况下使用本框架也能完成一个简单的微信公众号. 目前已兼容Spring Boot 1.4+以及Spring Boot 2.x,欢迎大家提issue和contribute,也欢迎加群627254793讨论,开源项目需要大家共同来共享,谢谢~ 一.简单示例: 1. 申请测试公众号 微信测试公众号申请链接 2. 准备完成…
1.OAuth2.0 OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用. 允许用户提供一个令牌,而不是用户名和密码来访问他们存放在特定服务提供者的数据.每一个令牌授权一个特定的网站(例如,视频编辑网站)在特定的时段(例如,接下来的2小时内)内访问特定的资源(例如仅仅是某一相册中的视频).这样,OAuth允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要分享他们的访…
由于最近公司业务需要,需要搭建基于Spring Cloud的微服务系统.遍访各大搜索引擎,发现国内资料少之又少,也难怪,国内Dubbo正统治着天下.但是,一个技术总有它的瓶颈,Dubbo也有它捉襟见肘的地方.所幸霸主Spring也推出了一整套微服务解决方案,各个子项目也巧妙地解决了分布式系统开发过程中的各种各样的问题.看了很多国内的资料,最早的几份文档也是互相借用,恐怕究竟是什么都说不清楚了.撸主在github上面发现几个很好的相关项目,就想翻译来看看.这篇其实是项目说明,但是里面很多知识点是百…