提交位于iFrame中的第三方托管付款页Agave,以前称为Intrix后,缺少Cookie

问题描述

我正在开发一个使用来自第三方公司Agave(该公司以前称为Intrix)的托管付款页面的应用程序。 HPP会在iFrame中加载到我们的应用程序中。因此,在用户选择从我们应用程序中的购物车中签出后,他们将被带到也是我们应用程序一部分的付款页面,并且该付款页面中包含一个iFrame,该iFrame指向Agave托管的付款表单。用户将他们的信用卡信息输入到iFrame中的HPP中,然后提交给Agave。信用卡信息永远不会发送到我们的服务器。 Agave表单提交完成后,Agave的付款表单代码会将主窗口重定向回我们通过配置提供的应用程序的回调URL。这通常可以正常工作。但是有时我们发现,我们在回调请求中丢失了auth和会话cookie。

我们的应用程序是ASP.NET MVC,并且使用Forms Auth,因此我们有两个cookie,一个是标准ASP.NET Session cookie,另一个是标准Forms Auth cookie。当我们遇到这个问题时,两个cookie都丢失了,我们找不到任何解释。这并不是真正的跨源请求-用户位于我们应用程序一部分的付款页面上,并且该付款页面中带有第三方URL的iFrame运行JS重定向到我们应用程序一部分的另一个URL。

由于此问题仅偶尔发生,而不是每次都不发生,因此我怀疑某些浏览器设置导致cookie无法发送。但是,我很茫然,无法重现该问题。有什么可能的原因的想法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)