这些问题可能很蠢,需要大佬解答下
1.Oauth2 是开放授权标准,是可以让用户不把用户名和密码提供 A 应用就能访问到它在 B 应用上的信息,需要有一个 B 应用提供的页面让用户授权下,所以同一个项目前后端之间采用 Oauth2 进行认证是做不到的吧,好像看过有的人说过他们项目也这么做(还是说可以除了这四种模式,可以再自定义模式?那为什么还需要 Oauth2 来做,这属于滥用吧?)
2.之前对接过其他第三方的接口,都是 server2server ,就是我掉他们的接口,然后把数据同步或者返给前端,但是是通过参数签名的方式认证的,这种情况是不是可以使用 client credentials 模式来代替呢(如果是的话为什么不这么做呢,因为对接过蛮多的第三方都是参数签名的方式)
1
totoro52 2022-01-23 18:35:07 +08:00
“以同一个项目前后端之间采用 Oauth2 进行认证是做不到的吧”
可以这么做,我们就是这么做了,目的是为了实现统一登录,因为我们有独立的账号中心体系,采用了这个方式,但如果你的产品线不多或者说就一个,还硬上这么模式只能说小题大做 至于是否有企业这么做,你可以看下腾讯整个产品线就知道了,只要是他们家的产品,只要有一个 QQ 号或者微信号就行了。 |
2
totoro52 2022-01-23 18:38:12 +08:00
“这种情况是不是可以使用 client credentials 模式来代替呢”
可以,根据情况来使用,如果对方是接口服务商,一般都会用这个模式,但如果你们只有两家企业互相对接,其实不需要过多复杂的加密调用,只需简单的鉴权即可。 |
3
daimubai OP @totoro52 不知道为什么回复没有收到通知。先感谢老哥回复
“目的是为了实现统一登录,因为我们有独立的账号中心体系,采用了这个方式” 这个我不太理解,是说用 Oauth2 实现的单点登录吗?那单点登录也有其他的解决方案吧,为什么选择用 Oauth2 呢,因为 Oauth2 本质是让用户授权第三方访问其他服务器的数据嘛 ---- “可以,根据情况来使用,如果对方是接口服务商,一般都会用这个模式” 这个模式相比较于 把 appkey 和 secret 和参数一起签名相比哪种更好呢,因为我对接的几家大的供应商都是后者 感谢老哥 |