新手对 Oauth2 的疑惑

2022-01-23 17:00:54 +08:00
 daimubai

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

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

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

1905 次点击
所在节点    程序员
3 条回复
totoro52
2022-01-23 18:35:07 +08:00
“以同一个项目前后端之间采用 Oauth2 进行认证是做不到的吧”

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

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

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

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

感谢老哥

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

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

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

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

© 2021 V2EX