简介:
用户授权登录之后,需要生成登录凭证,重定向到页面上
之前的access_page表示当前的页面
当我们点击微信登录的时候
url地址栏的state会指向当前的地址
首页点击微信登录
点开某个页面点击微信登录
二级页面的地址
https://open.weixin.qq.com/connect/qrconnect?appid=wx25bc3c42ddcc664f&redirect_uri=https%3A%2F%2Fapi.xdclass.net%2Fpub%2Fapi%2Fv1%2Fwechat%2Fuser%2Fcallback1&response_type=code&scope=snsapi_login&state=https%3A%2F%2Fxdclass.net%2F%23%2Fcourselist%3Fcp_id%3D2%26%2338%3Bc_id%3D17%26login_type%3Dpc#wechat_redirect
public void wechatUserCallback(@RequestParam(value = "code",required = true) String code, String state, HttpServletResponse response) throws Exception { User user = userService.saveWeChatUser(code); if(user != null){ //生成jwt String token= JwtUtils.geneJsonWebToken(user); System.out.println("token========================"+token); /** * * 获取状态 表示当前的地址 * 并拼装头像地址+昵称(前端减少数据库的查询) * @date: 2019/2/26 21:03 */ response.sendRedirect(state+"?token="+token+"&head_img="+user.getHeadImg()+"&name="+user.getName()); }
Http:
整体思路:
- 获取当前页面访问地址
- 根据User的基本信息生成token
- 重定向到指定页面