a691553454的gravatar头像
a691553454 2018-06-15 22:48:05

微信网页授权跨域问题

前后端分离的项目,后台组装授权url

    public String  oauth(  )
    {
        String rediuri="http://wcca.natapp1.cc/wechat/snsback";
        String snsurl=null;
        try
        {
            String urlString = URLEncoder.encode(rediuri,"UTF-8");
            snsurl=WePayConfig.snsapi.replace("APPID",WePayConfig.appid).replace("REDIRECT_URI",urlString).replace("SCOPE","snsapi_userinfo");
            Logger.getLogger(">>>>>>>>>>>>>>>>").info(snsurl);
            Logger.getLogger(">>>>>>>>>>>>>>>>").info("return重定向 `````");
//            request.getRequestDispatcher(snsurl).forward(request,response);
//            response.sendRedirect(snsurl);
        } catch (Exception e)
        {
            e.printStackTrace();
        }
        return "redirect:"+snsurl;
    }

浏览器进行重定向时,提示跨域,不是前端和我跨域了,总觉得是前端和微信服务器跨域了,因为我这边后台代码做了跨域处理,其它数据都可以通过ajax请求到,唯独这个微信授权不行,请高人指点,币跪送!!!!

所有回答列表(2)
木鱼酱的gravatar头像
木鱼酱  LV5 2018年6月16日

我们当时的流程是:前端请求后端服务 -> 后端拼装url请求微信并携带前端redirect_url作为参数传递 -> 微信回调后端另一个接口带回所需参数以及redirect_url -> 后端重定向到redirect_url

这种情况就不会出现微信和前端的交互,所有和微信的交互都是从后端走的,就不存在你这个问题了。

zhang4xin的gravatar头像
zhang4xin  LV15 2018年6月21日
前端和后台分离,不是完全分离, 数据通道还有有的.
不管是java 或者.net 都有后台向前端传送数据的方式
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友