跨域 Cookie 實現單點登入

2021-08-27 21:39:11 字數 642 閱讀 4695

單點登入(sso - single sign on):對於同乙個客戶端(例如 chrome 瀏覽器),只要登入了乙個子站(例如 a.com),則所有子站(b.com、c.com)都認為已經登入。

比如使用者在登入**後,跳轉到天貓時就已經登入了。

未登入使用者訪問子站 a.com 進行登入,自動跳轉到賬戶中心的統一登入頁account.com/login使用者在統一登入頁進行登入,登入成功後顯示登入跳轉頁

顯示登入跳轉頁後自動跳轉回 a.com,單點登入完成

使用者在訪問 b.com 時無需再次登入

登入統一登入頁登入請求完成後響應為登入跳轉頁

登入跳轉頁中通知各子站進行登入

子站收到登入請求後驗證 token 是否有效,有效的話在響應中設定 cookie(user_token=***x)

token 驗證

登出使用者在某個子站主動登出時跳轉到賬戶中心統一登出頁account.com/logout?uid=***x&token=***x賬戶中心驗證 token 後進行登出,在登出跳轉頁中通知各子站進行登出(設定 cookie),類似登入通知

子站收到登出請求後驗證 token 是否有效,有效的話在響應中設定 cookie(刪除 user_token)

單點登入 跨域寫cookie的實現

不多說,上 登入 test1.php 隨便寫就好了,狀態碼是200就ok test2.php,這裡是跨域訪問,有些 被注釋了,這裡用不到。指定允許其他網域名稱訪問 header access control allow origin 是否允許後續請求攜帶認證資訊 cookies 該值只能是true,...

跨域視窗通訊,可實現跨域單點登入

目前比較主流的專案都是前後端分離的專案,此時會使用token來驗證使用者資訊。這時要想實現單點登入無非就是不同的 能擁有已經登入過 的token和一些使用者資訊,就可以實現不用再登入就能訪問頁面的功能。還是以a b和c 來舉例吧。c 作為 訊息的 需要實現監聽訊息,並且將訪問localstorage...

cookie跨域問題 跨域登入

cookie跨域時修改不成功,需要在刪除 或者修改時 設定domain值與存入的domain一致,跨域修改cookie不會成功。例如 login.abc.com login工程 www.abc.com abc工程 www.abc.com login.html呼叫login工程的登陸介面 login工...