微信个人版扫码登入
此方法适用于个人开发者想使用微信扫码快速登入,但是又申请不了微信开放平台授权的个人用户,经测试此方法可用,demo下载地址在最底部
获取uuid
get方式请求以下接口会返回uuid信息
// 地址
https://login.wx.qq.com/jslogin?appid=wx782c26e4c19acffb&redirect_uri=https%3A%2F%2Fweb.weixin.qq.com%2Fcgi-bin%2Fmmwebwx-bin%2Fwebwxnewloginpage&fun=new&lang=zh_&_=1663918497103
// 结果
window.QRLogin.code = 200; window.QRLogin.uuid = "mmmmmmmmmm";
组装获取qrcode
https://login.weixin.qq.com/qrcode/{{第一步获取到的uuid}}
轮询get访问获取微信返回信息
https://login.wx.qq.com/cgi-bin/mmwebwx-bin/login?loginicon=true&uuid={{第一步获取到的uuid}}
当用户扫码时会出现code 201,此时接口会返回base64图片
window.code=201;window.userAvatar = 'data:img/jpg;......';
当用户在手机上确定登入,则接口会返回code 200 并返回地址,此时模拟访问此地址并获取cookie信息
// 返回信息
window.code=200;
window.redirect_uri="https://wx2.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage?ticket=A_mmmmmmmmmmmmmmmmmmmmmm@qrticket_0&uuid=mmmmmmmmmmmm&lang=zh_&scan=1661918912";
// 抓取到的cookie
pac_uid=0_65cf11501295d; iip=0; pgv_pvid=8666222200; wxuin=1044427715; wxsid=1DTmzGGGDDDWSyuR; mm_lang=zh_; wxuin=1044427715; webwx_data_ticket=gSe4NFFFSDDSDSCC/kmhPNLO; webwxuvid=47a38a6FSDSCSCSCFGDGDGDGDGDGD1cd69355a523b64a548db8717f173d68ee1; webwx_auth_ticket=CIsBEJrPiGEDFDVERFDSFSGBDGFVSDFFCSDVDFSVGDSFCV7gxbszLyHqQCXa1sw0XMHM6sjVxfVWR/IIVn3jO97euZPMIT0jSDFVRFVGBRFBHGBHFSGSBSDGSDFGDFFSDDSFSDFDSFSDFTI=; MM_WX_NOTIFY_STATE=1; MM_WX_SOUND_STATE=1; wxloadtime=1663918937_expired; wxpluginkey=16633456778
ps: 博主经过多次测试,发现只有wxuin是固定的,因此用wxuin代openid进行快速登入或注册
同一账号短时间内请勿多次登入
评论 (0)