前后端联调接入第三方接口之302游戏大作战的故事

13 篇文章 0 订阅
5 篇文章 0 订阅

业务背景:  接入第三方接口,获取用户名,实现用户登陆

接口采用Java编写,我们的平台前端业务使用React.js  后端采用PHP实现数据接口


业务流程:  前端向后端发请求,后端调用第三方接口,第三方接口实现跳转并跳转到登陆页面,登陆页面里面有一个回调地址,也就是登陆成功以后返回到调用该接口的地址。目标是返回到前端首页,并显示用户名。


302游戏大作战 关卡1 :由于react.js使用的fetch方法是使用ajax进行请求,所以跳转登陆页面是不成功的,被拦截掉了,也就是跳不出去。


302游戏大作战关卡2: 可不可以自己改变后边的回调地址,改成前端地址。====》不行,回调地址应该和后端请求地址相同。


302游戏大作战副本篇: 中间请教了很多同事,通过他们的分析,让我们更深刻的理解了里面的这个流程,也尝试了一下其他方法还是没有成功,也看了很多接入这个接口的系统,请教了下他们,发现他们的系统和我们不是很一样,他们的系统是通过一个域名都可以访问的到,我们的前后端是完全分离,部署在两台nginx上面,监听的端口也不一样,所以我们的比较特殊。中间和前端联调两个人的语气都不好了(不要放弃,控制情绪,积极分析),很无奈也挺崩溃的,请教了很多人,也尝试了很多方法,最后还是没有成功。

庆幸的是我们还没放弃,还在坚持的尝试。


302游戏大作战通关篇:由于后端需要调用第三方接口进行调整,登陆成功以后回调到后端请求的地址。当302重定向的时候前端跳不出去,我们可以通过一个接口来判断是否登陆,如果没有登陆,给前端一个标识,让前端自己跳转,等到前端跳转完成它的回调地址还是后端请求的地址,里面还是会回调到后端的地址,然后后端的地址再进行一次302跳转到前端,这次前端再次发送第一个请求判断是否登陆, 如果已经登陆,就不需要发送第二个请求了,这里获取到用户名了,到了这里,终于还是把302重定向这个关卡通过了!撒花





  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值