V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
edis0n0
V2EX  ›  程序员

Safari 禁止了跨域追踪,为什么登录 Google 还是能同步登录不同域名下的 YouTube?用了什么黑科技?

  •  
  •   edis0n0 · 2022-08-28 22:03:56 +08:00 · 2736 次点击
    这是一个创建于 601 天前的主题,其中的信息可能已经有所发展或是发生改变。
    7 条回复    2022-08-29 01:30:39 +08:00
    ShallowAi
        1
    ShallowAi  
       2022-08-28 22:58:57 +08:00 via Android
    你登录的时候是请求到 google 的登录 api 然后重定向回你访问的网页的,登录 api 会存储你的当前状态和 session 信息,其他网站只需要请求这个 api 即可。总会有办法的,这也不算追踪吧。
    Cavolo
        2
    Cavolo  
       2022-08-28 23:03:09 +08:00 via iPhone
    你没发现 iOS 上 Google 登录状态是整个系统范围内的吗。YouTube apl 登录了 gmail app 不需要二次登录。
    codehz
        3
    codehz  
       2022-08-28 23:03:23 +08:00 via iPhone
    你有没有观察过登录谷歌的时候会跳转到 youtube 一次再回到谷歌页面上(
    fuzzsh
        4
    fuzzsh  
       2022-08-28 23:13:28 +08:00 via Android
    SSO
    Archeb
        5
    Archeb  
       2022-08-29 01:02:43 +08:00   ❤️ 5
    看了这个帖子,我去测试了一下

    打开 www.google.com -> 自动跳转到 www.google.com.hk -> 点击登录,跳转到 accounts.google.com -> 登陆完成,跳转回 www.google.com.hk

    此时打开 www.google.comwww.google.com.hk 都有我的登陆状态,而 www.google.co.jpwww.youtube.com 都没有显示登陆状态

    点击 google.co.jp 的登录,跳转链如下所示



    所以很明显是跳转到 SSO 域( accounts.google.com )然后再跳转到国别 SSO 域( account.google.co.jp )设置一个 session ,从而让该域下的站点都拥有谷歌登陆状态。

    YouTube 原理同上。
    Archeb
        6
    Archeb  
       2022-08-29 01:06:05 +08:00
    补充:限制跨域追踪也不会限制主动跳转带参数,所以 302 跳转过程中就会携带所需的鉴权信息作为 URL 参数,从而让登录会话跨域共享。
    leeg810312
        7
    leeg810312  
       2022-08-29 01:30:39 +08:00 via Android
    禁止跨域追踪,应该不会影响 sso
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2764 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 14:59 · PVG 22:59 · LAX 07:59 · JFK 10:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.