V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
LoremIpSum
V2EX  ›  程序员

国内大厂用的单点登陆也是 oauth2 那一套吗?

  •  
  •   LoremIpSum · 2019-10-30 23:06:36 +08:00 · 7135 次点击
    这是一个创建于 1876 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在做一个类似的系统,想做下调研,目前这种访问量较高的互联网应用通常都是用什么协议来做的?

    23 条回复    2022-05-14 10:26:00 +08:00
    billlee
        1
    billlee  
       2019-10-31 00:41:23 +08:00
    并不是吧,大厂们做单点登录的时候还没有 oauth2 呢
    itskingname
        2
    itskingname  
       2019-10-31 08:26:37 +08:00 via iPhone
    openID 啊
    jugelizi
        3
    jugelizi  
       2019-10-31 08:36:00 +08:00 via iPhone
    你说的单点登录是 sso 一个账号可以在一个公司的不同业务漫游 比如登录 QQ 就自动登录 QQ 音乐 QQ 空间
    不是 oauth 那个应该是授权登录 比如用 QQ 账号登录微博
    zifangsky
        4
    zifangsky  
       2019-10-31 08:46:11 +08:00
    @jugelizi #3 +1,这是两个不同的东西。
    jorneyr
        5
    jorneyr  
       2019-10-31 08:48:39 +08:00
    OAuth 是授权和登录,但不是单点登录。
    IMCA1024
        6
    IMCA1024  
       2019-10-31 08:57:39 +08:00
    OAuth2 主要是 以授权码模式作 第三方登录
    也有作为登录系统的, 可以以 密码模式
    单点登录的话,其实也可以
    dif
        7
    dif  
       2019-10-31 09:21:25 +08:00
    CAS
    lcy630409
        8
    lcy630409  
       2019-10-31 09:28:54 +08:00
    如果说的是 一个地方登陆 其他地方同步登陆
    你可以看看 ucenter
    sxw11
        9
    sxw11  
       2019-10-31 09:29:39 +08:00
    除了 OAuth,还有 SAML
    Techzero
        10
    Techzero  
       2019-10-31 09:37:12 +08:00 via Android
    对接过华为和腾讯的 to B 业务,基本都有用 CAS
    tinybaby365
        11
    tinybaby365  
       2019-10-31 09:49:28 +08:00
    古老的 SAML
    xh520630
        12
    xh520630  
       2019-10-31 10:06:39 +08:00
    sso 是 sso,oauth2 是 oauth2
    whoosy
        13
    whoosy  
       2019-10-31 10:09:34 +08:00
    单点登录是授权中心登录后,其他子系统不需要再次登录,基本用的都是 CAS 也就是 ticket 那一套
    Oauth 是授权第三方账号登录你的系统
    racecoder00
        14
    racecoder00  
       2019-10-31 10:32:22 +08:00
    前些天刚好用 spring cloud 和 oauth2 撸了一个 sso,一般 oauth2 是用作授权第三方登陆的,但是也可以做个自己的 auth server,所有的 resource server 都用自己的 auth 就是 sso 了。但是依然比较好奇,大厂是怎么搞的
    didiv
        15
    didiv  
       2019-10-31 13:56:00 +08:00   ❤️ 1
    个人做的话推荐用 OIDC (OpenID Connect)
    阿里系的淘宝、天猫是通过 cookie 跨域传递, 共享 session 的方式 (tbsession 基于 tair) 实现的
    谷歌和 YouTube 也是通过 cookie 跨域传递实现的,内部应该也是维护了一个类似于 tbsession 的东西
    京东系应该是 CAS, 通过 ticket 传递获取用户信息
    lusyoe
        16
    lusyoe  
       2019-10-31 14:24:21 +08:00
    @didiv OIDC 的 session 管理好像还是草稿阶段,可以做单点登录么?请教下有没相关的实现参考呢
    index90
        17
    index90  
       2019-10-31 14:47:54 +08:00
    SSO 和 Oauth 永远混为一谈,再加上各种中文技术博客继续误导……
    sunwei0325
        18
    sunwei0325  
       2019-10-31 15:06:05 +08:00 via iPhone
    json web token
    CoderGeek
        19
    CoderGeek  
       2019-10-31 15:09:11 +08:00
    cookie 跨域 sso
    didiv
        20
    didiv  
       2019-10-31 15:32:10 +08:00   ❤️ 1
    @lusyoe session management 组件只是 oidc provider 自身的会话管理,对 Single Sign On 影响不大,对 SIngle Sign Out 有影响。具体的实现参考的话,auth0 就是一个很好的例子。
    lusyoe
        21
    lusyoe  
       2019-11-01 16:34:31 +08:00
    @didiv 再请教一下还是没太理解,oidc 这里 Single Sign On 是怎么实现的呢,是通过浏览器存储 cookie,再后端自动调登录么?
    Shikyou
        22
    Shikyou  
       2020-06-24 16:52:20 +08:00
    这一类实现单点登录的云服务已经很多了,为什么还要自行开发呢?
    比如国内的 Authing,还有美国的 Auth0 和 AWS Cognito 都行的(国内由于政策原因用不了)。
    用了以后就回不去了,再也无需开发、运维用户系统了。
    wangxiaoaer
        23
    wangxiaoaer  
       2022-05-14 10:26:00 +08:00
    @index90 #17 Oauth2 作为单点登录的一种手段是可以的吧?这种情况下注册应用其实只用到了获取用户信息这个接口。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5345 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 07:05 · PVG 15:05 · LAX 23:05 · JFK 02:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.