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

新手对 Oauth2 的疑惑

  •  
  •   daimubai · 2022-01-23 17:00:54 +08:00 · 1906 次点击
    这是一个创建于 1040 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这些问题可能很蠢,需要大佬解答下

    1.Oauth2 是开放授权标准,是可以让用户不把用户名和密码提供 A 应用就能访问到它在 B 应用上的信息,需要有一个 B 应用提供的页面让用户授权下,所以同一个项目前后端之间采用 Oauth2 进行认证是做不到的吧,好像看过有的人说过他们项目也这么做(还是说可以除了这四种模式,可以再自定义模式?那为什么还需要 Oauth2 来做,这属于滥用吧?)

    2.之前对接过其他第三方的接口,都是 server2server ,就是我掉他们的接口,然后把数据同步或者返给前端,但是是通过参数签名的方式认证的,这种情况是不是可以使用 client credentials 模式来代替呢(如果是的话为什么不这么做呢,因为对接过蛮多的第三方都是参数签名的方式)

    3 条回复    2022-01-24 17:00:59 +08:00
    totoro52
        1
    totoro52  
       2022-01-23 18:35:07 +08:00
    “以同一个项目前后端之间采用 Oauth2 进行认证是做不到的吧”

    可以这么做,我们就是这么做了,目的是为了实现统一登录,因为我们有独立的账号中心体系,采用了这个方式,但如果你的产品线不多或者说就一个,还硬上这么模式只能说小题大做
    至于是否有企业这么做,你可以看下腾讯整个产品线就知道了,只要是他们家的产品,只要有一个 QQ 号或者微信号就行了。
    totoro52
        2
    totoro52  
       2022-01-23 18:38:12 +08:00
    “这种情况是不是可以使用 client credentials 模式来代替呢”
    可以,根据情况来使用,如果对方是接口服务商,一般都会用这个模式,但如果你们只有两家企业互相对接,其实不需要过多复杂的加密调用,只需简单的鉴权即可。
    daimubai
        3
    daimubai  
    OP
       2022-01-24 17:00:59 +08:00
    @totoro52 不知道为什么回复没有收到通知。先感谢老哥回复

    “目的是为了实现统一登录,因为我们有独立的账号中心体系,采用了这个方式”

    这个我不太理解,是说用 Oauth2 实现的单点登录吗?那单点登录也有其他的解决方案吧,为什么选择用 Oauth2 呢,因为 Oauth2 本质是让用户授权第三方访问其他服务器的数据嘛
    ----

    “可以,根据情况来使用,如果对方是接口服务商,一般都会用这个模式”
    这个模式相比较于 把 appkey 和 secret 和参数一起签名相比哪种更好呢,因为我对接的几家大的供应商都是后者

    感谢老哥
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2764 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 15:40 · PVG 23:40 · LAX 07:40 · JFK 10:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.