XERO授权回调后session变为null

Session Becoming Null After Callback from XERO Authorization

我遇到了一个很奇怪的问题。我有一个基本上使用 OAUTH 2.0 连接到 XERO 授权的应用程序。该应用程序的工作方式是,在我的应用程序中,我有一个按钮(由 XERO 提供),它基本上将我重定向到他们的 OAUTH 授权页面,然后根据 XERO 上的应用程序设置,OAUTH 页面将我重定向回我的应用程序到controller 方法,然后完成剩下的保存令牌等

我在 DEV 和 UAT 上对此进行了测试,一切正常。现在到了将其发布到 PROD 机器的时候,我在连接了负载均衡器的 AWS EC2 上进行了构建更新,并通过点击服务器在我的机器上对其进行了测试,它按预期工作。

现在的问题是,一旦我在 CEO 的机器上测试它,它就会给我可怕的 NULL POINTER EXCEPTION。

在一些服务器端日志记录之后,我发现我的会话由于某种原因在重定向后被销毁了。

这是我在应用程序上更改但仍然没有成功的项目列表:

1- 更改了要在 SQL 上保存的会话。 (同样的问题在我的机器上有效,但在另一台机器上无效)。

2- 检查 IIS 的 AppPool 是否被回收。 (未回收,同一期)。

3- 在 AWS ALB(应用程序负载均衡器)上启用“粘性会话”。 (同样的问题)。

4- 尝试将数据保存在 Cookie 中并将其拉回。 (同一期)。

有人可以帮我看看我哪里出了问题吗?

编辑

好的,我发现了一些有趣的信息。我在我的 EC2 实例上玩弄并尝试调试应用程序并在第 3 部分应用程序重定向回应用程序时发现以下内容(见下图):

所以,我想这会缩小范围。如果有人可以帮助我解决这个问题,那就太好了。提前致谢。

好的,我刚刚找到了解决问题的方法,发生的事情是回调完成后,Cookies 域设置为 (XXXX.ae) 而不是 (www.XXX.ae ) 或 (.XXXX.ae) .

我解决此问题的方法是更新我的 PRODUCTION web.config.

中的以下行
  <system.web>
 <httpCookies domain="(your_Domain_name_here).com" httpOnlyCookies="true"/>
  </system.web>

切记不要在您的域中包含 www。只要您应用了正确的重定向,这就不会导致问题,并且您的 cookie 将在您的回调中正确加载域 .(your_Domain_name).com.