关于vue跨域名对接微信授权认证和APP授权认证

本文分享了一次跨域授权的实际操作经验,包括前后端分离场景下的微信授权认证过程及遇到的问题解决办法,如重定向、跨域请求携带Cookie、数据格式调整等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这种情况一般也只会出现在前后端分离,跨域名授权的时候吧。耗费了一个前端+一个后台+一个网关,熬夜通宵了两天才整出来一套方法(你们见过凌晨6点的杭州吗,对,我下班的时候天黑了,到家天亮了。。。。),和开发APP第三方各种联系,各种百度、谷歌what、why...

先说说和微信的授权认证吧,后台和网关直接的逻辑流程就不说了,就说前端的:前端业务逻辑是在加载页:

1.请求网关接口,获取用户授权状态。

2.如果授权过就直接跳转首页。

3.如果未授权过就去跳转微信授权页。

这一路上遇到过很多的问题,前端的主要问题就三个:

第一个是网关原本打算302重定向微信授权页,但是也许是微信跨域名的原因吧....失败了。我们果断换成了 window.location.href跳转授权。授权完成后重定向刷新当前页。 

第二个是AJAX跨域名请求发送cookie,一开始以为是cookie木有set进来,后来测试了几波后发现是跨域名发送cookie的时候需要对ajax的封装做处理加上

beforeSend: function (xhr) {
xhr.withCredentials = true
},

第三个是因为要对接五个后台,一开始没确定好数据的传输格式,导致AJAX不通,解决方法是将ajax提交的数据转成字符串,再在ajax封装里加上

headers: {
"Content-Type": "application/json; charset=utf-8",
"Accept": "application/json; charset=utf-8"
},

 

 接下来说一下APP的认证,APP的认证由于原先就和第三方商量好了所以流程上没有问题,就是遇到跨域名set-cookie失败。安卓端webView对方加了一串代码允许跨域名后,可以实现set-cookie了,IOS的由于系统限制一直无法实现。经过测试,ajax跨域名set-cookie在IOS貌似搞不定,最后又换成了 window.location.href......

 233333第一次搞移动端授权认证,还是跨域名跨终端。还好最后都实现了,通宵两天也值了~

 

转载于:https://www.cnblogs.com/ovocake/p/9007664.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值