本文为简单讲述通过微信授权来实现登录,并用cookies保持登录状态
注释1:此时若没有有效token则判定为未登录,因为系统是前后端分离的,所以本文采用的方法是用token为key,user对象为value将用户信息保存到redis内;若是前后端不分离,可以考虑用session的方式;
注意这个时候转发的地址是微信的授权地址
为了可扩展我先把请求转发到一个登录分发类,可以多个平台(支付宝、微信、微博、QQ等)共用这个登录逻辑,下面是伪代码,仅供参考
//请求来源
String sourse = request.getHeader("User-Agent").toLowerCase();
//判断请求平台,重定向到不同平台授权页面
if(sourse.contains("micromessenger") || sourse.contains("wechatdevtools")){
logger.info("跳转微信登录");
redirect = "https://open.weixin.qq.com/connect/oauth2/authorize?" +
"appid=%s&redirect_uri=%s&response_type=code&scope=%s&state=%s#wec