2015-10-15 67 views
0

我有一個有點奇怪的場景,但需要解決所有問題!重複使用表單身份驗證Cookie

請注意,下面描述的網站在不同的頂級域名

我有兩個Web應用程序,1 ASP.NET MVC,和另一個在PHP中,都在不同的領域。讓我們稱他們爲asp.com和php.com。用戶在asp.com上進行身份驗證,因此擁有由ASP.NET設置的authcookie。

現在,php.com網站通過asp.com的休息服務提取數據。這個休息服務通過相同的機制進行身份驗證,所以當我通過php.com的JavaScript JSONP調用這個休息服務時,它可以正常工作。不過,我希望從PHP中的服務器調用相同的REST服務。

是否有可能以某種方式讓asp.com網站複製併爲php.com設置authcookie(該域名是已知和可信的),然後在PHP代碼中傳遞此cookie以對REST服務進行身份驗證在asp.com上?

它不需要是確切的AUTH cookie,我可以用相關的會話密鑰創建一個新的cookie,只要創建一個有效的authcookie並提交給REST服務即可。

問題

  1. 這可能嗎?
  2. 如何在asp.com中設置php.com的cookie?
  3. 缺少其中一個受損的域名,有沒有任何 安全問題?

回答

1
  1. 沒有

  2. 的第一個站點,asp.com,將重定向到一個頁面中php.com。然後php.com可以設置cookie本身,並重定向回asp.com。

  3. 是的,這就是爲什麼你不能這樣做。

另外,參見this answer

+0

這爲我節省了很多痛苦,試圖讓它工作。我將致力於重定向選項 –

+0

關於第2點。假設相關信息通過URL傳遞給php.com,可以在PHP中爲其他請求重新構建auth cookie嗎? –