搜尋

首頁  >  問答  >  主體

javascript - 關於跨網域登錄

有這樣兩個網站,a.com和b.com,在登入網站a.com後,進入b.com自動登錄,反過來也一樣。總之兩個網站的登錄登出狀態保持同步。
此外,在a.com和b.com之外,還有無數相同的不同網域的網站需要同步登入狀態。

例如多說評論系統,登入一次後,在其他使用多說的網站可以免登陸,這是如何做到的?

世界只因有你世界只因有你2747 天前858

全部回覆(5)我來回復

  • 我想大声告诉你

    我想大声告诉你2017-05-19 10:12:39

    SSO(single sign on)

    你說的這種情況可以用上面的方案來解決,這種方案有很多實現方式,你可以去查找看一下。

    我也舉一個簡單的例子:

    當你在某個網站登入的時候,

    1) 他取得了你的使用者名稱和密碼,將其發送到後台

    2) 經檢驗後由後台產生一個加密認證字元 oauth

    3) 然後向前台發送訊息說你成功登入,同時再利用後台腳本向一系列指定的網域下插入相關認證資訊。

    這樣你雖然只是在一個網域下登入了,但是其他網域下也有了你的認證資訊。當然上述只是一種實現方案,還有一些

    實現方式和這種差的挺大的。

    回覆
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-19 10:12:39

    瀏覽器所有保存狀態的方法,都是按網域保存的。以cookie為例,假設你是要在a.com使用b.com的授权登录,当你登录的时候调用了oauth,那么其实你是跳转到b.com进行登录的,那么你的浏览器就会保存b.com登录状态。那么当你在c.com登录的时候,你的浏览器已经保存了b.com的登录状态,那么自然就可以自动登录了。当然,a.comc.com在浏览器中是无法获取到b.com的狀態的。

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-19 10:12:39

    給你幾個關鍵字吧,單點登入、document.cookie domain(當然還有其他的方法。)

    回覆
    0
  • 仅有的幸福

    仅有的幸福2017-05-19 10:12:39

    下面有資源,可以看哈,https://m.toutiao.com/group/6...

    回覆
    0
  • ringa_lee

    ringa_lee2017-05-19 10:12:39

    簡單的理解:所有的網站都查詢一個只做登入的伺服器

    回覆
    0
  • 取消回覆