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

有兄弟用过 OAuth 2.0 在网站上么?问个问题,如果 redirect 到 subdomain,需要 re-login 么?

  •  
  •   yazoox · 89 天前 · 702 次点击
    这是一个创建于 89 天前的主题,其中的信息可能已经有所发展或是发生改变。

    假如,我有一个网站,1.yazoox.com ,使用 OAuth2.0 管理用户登录。 然后有一个子域名网站 beta.1.yazoox.com

    首先用户登录到 1.yazoox.com ,然后有个按钮“亲~你想使用 beta 么?” 用户点击“ oh~ yeah,好的!么么达”, 然后跳转到 beta.1.yazoox.com

    这个时候,需要重新登录么?用 OAuth 2.0 可不可以做到,使用前面的登录信息? 咋整?

    谢谢!

    8 回复  |  直到 2018-05-18 14:50:29 +08:00
        1
    ChristopherWu   89 天前
    把 token 传过去呢?
        2
    torbrowserbridge   89 天前 via Android
    你共享两个站点的 session 就不需要重新登录,否则就需要。这个和 oauth 没关系
        3
    wuhanchu   89 天前 via Android
    看你怎么存储 token 了
        4
    vjnjc   89 天前 via Android
    你是用 OAuth 分发了 token 吗?
    是的话,token 在主战和分站都能用的话就不需要 relogin
        5
    yazoox   88 天前
    @torbrowserbridge 怎么共享两站点的 session
    @wuhanchu 你说的“存储” token 指什么?这个应该都是存储在浏览器的 cache 里面的话,你的意思是,两个站点,缓存指向相同的目录么?
        6
    wuhanchu   88 天前 via Android
    @yazoox
    oauth 都是要先申请 token,然后后面服务调用时候都带上 token 来表示是同一个用户。
    所以你两个界面共用同一个 token 就行。

    你可以把 token 存储在 cookie。设置域为主域名就行
    Cookie cookie = new Cookie("token","value");
    cookie.setDomain("yazoox.com"); 

    或者存储在 localstorage 可能就要使用 iframe 放在同一个父页面下,token 通过通信传给子页面。可以参考
    https://zhuanlan.zhihu.com/p/35738376
        7
    yazoox   88 天前
    https://insready.com/en/blog/single-sign-using-oauth2-and-jwt-distributed-architecture
    @wuhanchu 我找到一篇文章,似乎 OAuth2.0 已经可以支持这个操作了,即 SSO (single sign-on)
        8
    yazoox   88 天前
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   实用小工具   ·   2277 人在线   最高记录 3762   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 17ms · UTC 00:50 · PVG 08:50 · LAX 17:50 · JFK 20:50
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1