| @@ -41,20 +41,16 @@ public class WechatLoginController extends BaseController { | |||||
| @ApiOperation(value = "微信网页登录回调", notes = "请配置此callback到网页redirect_uri") | @ApiOperation(value = "微信网页登录回调", notes = "请配置此callback到网页redirect_uri") | ||||
| @GetMapping("callback") | @GetMapping("callback") | ||||
| @ResponseBody | @ResponseBody | ||||
| public ResultData getAccessToken(String code, HttpServletRequest request, HttpServletResponse response) { | |||||
| public ResultData getAccessToken(String code, String state, HttpServletRequest request, HttpServletResponse response) { | |||||
| log.debug("[" + getIpAddr() + "] WechatLoginController::getAccessToken"); | log.debug("[" + getIpAddr() + "] WechatLoginController::getAccessToken"); | ||||
| log.debug("code: " + code); | log.debug("code: " + code); | ||||
| ResultData r = new ResultData(); | ResultData r = new ResultData(); | ||||
| try { | try { | ||||
| WxMpOAuth2AccessToken accessToken = wxMpService.oauth2getAccessToken(code); | WxMpOAuth2AccessToken accessToken = wxMpService.oauth2getAccessToken(code); | ||||
| log.debug("accessToken: " + accessToken.getAccessToken() + ", openId: " + accessToken.getOpenId() + ", unionId: " + accessToken.getUnionId()); | log.debug("accessToken: " + accessToken.getAccessToken() + ", openId: " + accessToken.getOpenId() + ", unionId: " + accessToken.getUnionId()); | ||||
| // 保存 access_token 到 cookie,两小时过期 | |||||
| Cookie accessTokencookie = new Cookie("accessToken", accessToken.getAccessToken()); | |||||
| accessTokencookie.setMaxAge(60 *2); | |||||
| response.addCookie(accessTokencookie); | |||||
| // 保存 openId 到 cookie,一小时过期 | |||||
| Cookie openIdCookie = new Cookie("openId", accessToken.getOpenId()); | Cookie openIdCookie = new Cookie("openId", accessToken.getOpenId()); | ||||
| openIdCookie.setMaxAge(60 *2); | |||||
| openIdCookie.setMaxAge(60); | |||||
| response.addCookie(openIdCookie); | response.addCookie(openIdCookie); | ||||
| // check user openid 是否是已授权用户 | // check user openid 是否是已授权用户 | ||||
| @@ -75,8 +71,12 @@ public class WechatLoginController extends BaseController { | |||||
| if(menus != null) { | if(menus != null) { | ||||
| info.setMenus(menus); | info.setMenus(menus); | ||||
| } | } | ||||
| r.data = info; | |||||
| Cookie unameCookie = new Cookie("uname", info.getUsername()); | |||||
| unameCookie.setMaxAge(60); | |||||
| response.addCookie(openIdCookie); | |||||
| response.sendRedirect(request.getContextPath() + "/#/"); | |||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| log.error(e.getMessage()); | |||||
| return new ResultData(ResultData.ERROR, "用户名或者密码错误"); | return new ResultData(ResultData.ERROR, "用户名或者密码错误"); | ||||
| } | } | ||||
| } else { | } else { | ||||
| @@ -89,9 +89,14 @@ public class WechatLoginController extends BaseController { | |||||
| map.put("accessToken", accessToken.getAccessToken()); | map.put("accessToken", accessToken.getAccessToken()); | ||||
| map.put("openId", accessToken.getOpenId()); | map.put("openId", accessToken.getOpenId()); | ||||
| //map.put("unionId", accessToken.getUnionId()); | //map.put("unionId", accessToken.getUnionId()); | ||||
| r.data = map; | |||||
| // r.data = map; | |||||
| // 跳转登录页面 | // 跳转登录页面 | ||||
| //response.sendRedirect(request.getContextPath() + "/student/html/index.min.html#/bind?type="+Constants.LOGIN_TYPE_WECHAT); | |||||
| try { | |||||
| response.sendRedirect(request.getContextPath() + "/#/"); | |||||
| } catch (Exception e) { | |||||
| log.error(e.getMessage()); | |||||
| return new ResultData(ResultData.ERROR, "用户名或者密码错误"); | |||||
| } | |||||
| } | } | ||||
| return r; | return r; | ||||
| } catch (WxErrorException e) { | } catch (WxErrorException e) { | ||||