我目前正面臨以下問題:子域上的登錄會話
一個主域名運行特定的PHP框架與框架特定的會話;現在有一個新的子域,它運行不同的PHP框架,我需要與子域共享來自主域的登錄會話信息。即用戶只能在主域上註冊,但一旦登錄,他們也將登錄到他們在子域中的帳戶。還應該注意的是,子域不能訪問主域DB。
有了這些限制,我想出了以下解決方案:首先我將域cookie設置爲.mydomain.com
,這樣我就可以訪問子域上的會話cookie。接下來,我在主域上實現一個簡單的API調用,它將返回登錄狀態以及其他會話信息。 API url將IP白名單限制在子域服務器上,並且一旦登錄用戶從主域名到達子域名,就會向用戶cookie服務器側(cURL假設)請求API url。一旦並且如果用戶在子域上以這種方式被認證,則他被分配用於特定會話的令牌,並且從那裏開始,我可以將其作爲子域上的常規和單獨的會話來管理。
現在我的問題是,您是否可以在此設置中看到任何安全智能漏洞?或提出任何改進或更可取的方法來做到這一點...
感謝
順便說一句,我寫了一篇關於[無OAuth或SAML的跨域認證](https://paragonie.com/blog/2016/02/one-login-rule-them-all-seamless-and-secure交叉域認證),使用Halite。 –
謝謝,這是一個有趣的閱讀。從我所收集的內容來看,我描述的機制大致類似於您在博客文章中描述的內容,只是更簡單(並且沒有加密),再加上使用db存儲的令牌來查找用戶肯定更好。比共享從主域上的cookie。 –