微信扫码登录功能无法实现

  1. 我使用官方的js接口,实现二维码 如下代码:

new WxLogin({

self_redirect: false,

id: "wx-login-container",

appid: currentLoginConfig.appid,

scope: "snsapi_login",

redirect_uri: encodeURIComponent(currentLoginConfig.redirect_uri),

state: currentLoginConfig.state,

style: "black"

});

生成的二维码是iframe src 链接到二维码url,这种手机扫码,也能确认但是无法回调到我的后端callback接口,原因为wpsjs 设置了iframe 跨域限制,无法从127.0.0.1 去访问 我的域名部署的后端服务,直接被拦截了;

  1. 如果我使用其他方式实现,比如python后端生成二维码,扫码后仍然是二维码,并且在手机上展开的,无法扫码,比如发给其他人,有点无语;

河南省
浏览 1355
收藏
点赞
分享
+1
2
+1
全部评论 2
 
人间食客
跨域的问题,可以通过配置后端服务解决吧
· 江西省
回复
Zhang
这个不是后端导致的,是微信二维码js 的sdk 直接从前端访问微信官方的api去获取当前二维码的状态,无法通过自己实现的后端去拦截的。最终通过修改参数 new WxLogin({ self_redirect: true, id: "wx-login-container", appid: currentLoginConfig.appid, scope: "snsapi_login", redirect_uri: encodeURIComponent(currentLoginConfig.redirect_uri), state: currentLoginConfig.state, style: "black", href:href }); 解决
· 河南省
回复