2013-12-11 68 views
0

我的網站不處理敏感信息,所以我不需要SSL。不過,我顯然希望通過SSL傳輸用戶密碼。該網站在Heroku上,Heroku在Herokuapp的子域提供免費的piggyback SSL。我可以訪問https://example.herokuapp.com,它將訪問與http://example.com相同的站點和數據。我可以使用Heroku Piggyback SSL進行主網站登錄嗎?

我想讓用戶登錄到example.herokuapp.com的iframe,並使它們登錄到我的實際站點example.com。但由於它們是不同的域,它們使用不同的cookie,並且登錄到一個不會登錄到另一個。有沒有什麼辦法可以繞過這一點,並獲得herokuapp登錄爲我的主要領域工作呢?

回答

1

出於安全原因,不可能share cookies across different domains

你可以做的是在SSL受保護的站點中執行登錄和身份驗證,設置一次性令牌,然後將用戶重定向回傳遞令牌的主應用程序。如果令牌匹配且未過期,請在主應用程序中對用戶進行身份驗證。

this answer中也更詳細地描述了相同的方法。

當用戶點擊鏈接一個「符號」(或呈現出永久登錄cookie),在形式符號最終將其數據發送到是在中央結構域的URL,具有隱藏表單元素說法沿着該它來自域(只是爲了方便,所以用戶以後重定向)。

此頁面位於中心域,然後繼續設置會話cookie(如果登錄進行的很順利),並重定向回用戶登錄的任何域,並在URL中爲該會話特有的特殊生成的令牌。

衛星URL中的頁面然後檢查該標記以查看它是否與爲會話生成的標記相對應,如果是,則重定向到自身而不使用標記並設置本地cookie。現在衛星域也有一個會話cookie。該重定向從URL中清除了令牌,因此用戶或任何搜尋器都不可能記錄包含該令牌的URL(儘管如果他們這樣做了,它應該無關緊要,令牌可以是單次使用的令牌)。

相關問題