集成第三方系统复盘

集成第三方系统里的菜单复盘

需求描述

在A系统 中增加B系统的菜单,直接点开,不用登录 就能浏览到B系统菜单。

实现思路

如何实现不用登录就能浏览到B系统菜单呢?翻了翻网上的例子,一般都是双方通过一个加密串来互相认证 或者用oauth2.0来实现,因为oauth2.0复杂一些,就没采用。
加密串采用的是jwt方式,下面这个文章给予很大帮助,感谢~~

API接口之JWT设置token过期时间(二).

在这里插入图片描述

遇到问题及解决方案

  1. Iframe退出问题
    描述:集成第三方系统时,是将第三方系统集成进iframe框架内。遇到的问题是:将传给第三方的token超时后,要进行页面跳转,重新跳回A系统 的登录页,此时A系统的登录页并限制在iframe框内了。
    解决:第三方系统在跳回时可通过top.location.href="A系统登录页面地址"
  2. Iframe框架下打开tab选项卡跨域无法关闭
    描述:Iframe框架下打开tab选项卡因跨域问题js报错,当时有去搜索引擎翻,但都没有找到合适的。
    解决:跟着浏览器去调试关闭选项卡的代码,发现是因为拿不到一个类的方法导致的报错。故做了一个区分,去访问第三方系统的tab 在关闭时不再执行多余的代码,直接进行页面关闭。
  3. 过滤器的过滤条件
    描述:众所周知,用户在登录时系统都会有过滤器进行拦截。这个跳第三方菜单的页面也是通过过滤器进行拦截的,但是通过什么值去拦截比较好呢,我不太想用/这种,因为系统本身有默认的过滤器,若用/,会导致重复执行好几遍。
    解决:因为是A系统去集成B系统,故在A系统上挂的菜单掌握在自己手上,在B系统提供的菜单前都加个前缀,系统通过该前缀去过滤,实现精准过滤。另外在跳转B系统时将前缀去掉,即可正常跳转。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值