0

我有一个大型 .NET 站点,我正在尝试添加来自第三方供应商的一些功能。

我们正在做的一个障碍是我们重定向到第三方站点,用户输入一些信息,第三方站点处理它,并使用我们需要存储的一些信息向我们进行程序化回传一旦第三方网站重定向回我们,会话和访问。

所以基本流程是:

  1. 用户点击按钮,表明他们想要利用此第三方优惠
  2. 我们重定向到第三方站点并在 URL 行中包含会话 ID 作为查询参数
  3. 第三方网站收集信息并授权用户
  4. 第三方网站以编程方式将用户信息和其他各种信息作为帖子正文中的数据回发。返回的部分信息是会话 ID。没有返回任何 COOKIE DATA,因此会话 ID 不在 .NET 通常期望的 cookie 中。
  5. 我们缓存会话中的信息,并以 HTTP 成功或失败(2xx 或 4xx HTTP 响应)和正文中的一点数据响应第三方站点
  6. 第三方网站告诉用户一切正常,用户可以单击按钮返回我们的网站。

很容易......所以我想。但诀窍是第 4 步。没有 cookie = 我所在的会话不是用户在第 6 步中被重定向回的会话。

过去我们通过从返回的数据中获取会话 ID 并重定向来处理类似的情况,但是对于这个供应商,他们需要一个 2xx 或 4xx 返回,而不是重定向会生成的 3xx。确实,返回重定向到程序化帖子……那是行不通的,不是吗?它不是处理重定向的浏览器,无论哪种方式,我们都不希望用户此时返回我们的站点。

我做了一些研究,看看是否有任何其他方式可以以编程方式连接到正确的会话,但我一无所获。希望有什么我错过了。

4

0 回答 0