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

2018-05-17 15:37:27 +08:00
 yazoox

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

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

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

谢谢!

1660 次点击
所在节点    程序员
8 条回复
ChristopherWu
2018-05-17 15:59:29 +08:00
把 token 传过去呢?
torbrowserbridge
2018-05-17 16:03:12 +08:00
你共享两个站点的 session 就不需要重新登录,否则就需要。这个和 oauth 没关系
wuhanchu
2018-05-17 16:49:29 +08:00
看你怎么存储 token 了
vjnjc
2018-05-18 00:39:01 +08:00
你是用 OAuth 分发了 token 吗?
是的话,token 在主战和分站都能用的话就不需要 relogin
yazoox
2018-05-18 10:39:22 +08:00
@torbrowserbridge 怎么共享两站点的 session
@wuhanchu 你说的“存储” token 指什么?这个应该都是存储在浏览器的 cache 里面的话,你的意思是,两个站点,缓存指向相同的目录么?
wuhanchu
2018-05-18 10:59:36 +08:00
@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
yazoox
2018-05-18 14:50:09 +08:00
https://insready.com/en/blog/single-sign-using-oauth2-and-jwt-distributed-architecture
@wuhanchu 我找到一篇文章,似乎 OAuth2.0 已经可以支持这个操作了,即 SSO (single sign-on)
yazoox
2018-05-18 14:50:29 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/455637

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX