【问题标题】:The user is anonymous after returning from a redirect用户从重定向返回后是匿名的
【发布时间】:2021-02-10 06:58:03
【问题描述】:

我们使用保存的信用卡和 3dsecure (SAP commerce/hybris) 实施了一种付款方式,但它并不总是有效。有时,在从支付服务返回后,会抛出 orderData 的空指针。原因似乎是,用户有时在返回后是匿名的,所以 orderData 不可见。(顺便说一下 orderData 存在)

但我不知道为什么会这样。就像我说的那样,它只是偶尔在 prod 上发生,但是当我在本地调试时,它大部分时间都会发生。并且在 paymenservice 付款被授权。

但是调试起来很麻烦,因为没有任何测试卡可以用 3dscure 测试,所以我每次都必须使用真实的。

说实话,我不确定我是否可以在这里显示代码,所以请原谅我,现在没有显示它(我没有写它)。

是否有任何“常见”错误/建议/最佳实践或其他什么?或者只是一个想法?

哦,我们不会在使用 paypal 等其他退货时遇到这个问题。

【问题讨论】:

    标签: java hybris 3d-secure


    【解决方案1】:

    这有点棘手,因为我不知道代码,但这里有一些建议:

    1. 也许浏览器中的 Session Cookie 被某种方式破坏了?您可以使用浏览器开发人员工具检查 cookie 是否包含在所有请求中(网络选项卡 -> 单击请求 -> 请求标头)。如果您在 http/https 或多个子域之间切换,有时会发生这种情况。
    2. 自动注销用户的时机不对?
    3. 您是否使用多个集群节点?也许节点之间的会话尚未同步?

    【讨论】:

    • 感谢提示: 1. JSESSIONID cookie 的 sameSite 属性似乎有问题。或者至少我在未设置属性时发现了有关 googlechrome 中 cookie 的默认处理的类似主题。所以看起来我们已经更新了我们的 Tomcat 或者如果可能的话用 springsession 设置它。唯一仍然奇怪的是,它有时可以工作,即使在 Chrome 中也是如此。而且由于我的本地测试,我确信第 2 + 3 点不是这种情况。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-17
    • 2016-02-19
    • 2017-01-03
    • 2012-07-15
    • 2016-08-17
    • 2015-06-26
    相关资源
    最近更新 更多