跨域 Cookie 難題
在 Web 開發領域,嘗試跨多個領域設定 Cookie 時會出現一個常見的挑戰。雖然安全性問題正確地限制了此操作,但在某些情況下它是必要的,例如單一登入 (SSO)。
問題
困境源自於需要一個網域,我們稱之為“account.domain.com”,以設定一個 cookie來指示一組網域的使用者登入狀態,例如:
答案
遺憾的是,沒有直接的解決方案使用PHP和cookie來實現跨域cookie 設定。根本問題是每個網域維護自己的 cookie 存儲,防止從一個來源設定另一個來源的 cookie。
替代方案
為了規避這個限制,存在替代方法:
實現單一登入
在此實現SSO場景需要仔細規劃並使用專門的工具或框架。 SimpleSAMLPHP 是一種 PHP 實現,它透過提供安全的令牌處理和域之間的通訊來促進 SSO。它消除了推出您自己的客製化解決方案的需求。
以上是如何在 PHP 中跨多個網域設定 Cookie 以實現單一登入 (SSO)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!