首页 新闻 会员 周边

关于oauth验证的 一些迷惑

0
[已解决问题] 解决于 2019-08-20 09:26

只知道现在的流行趋势都是使用oauth2.0去做webapi的验证,但是我还是有一些迷茫,求大神解答:
1.在自己的项目网站中使用ouath有什么意义吗,为什么不直接使用读取数据库的用户名和密码去进行验证。
2.比如通过豆瓣去获取QQ的权限登陆,这时候使用oauth是因为二者之间的不信任,所以这时候豆瓣想要访问QQ就要用户登录在豆瓣的账号去QQ的autho验证服务器去验证身份获取token,如果验证通过,这是不是就说明QQ的服务器也存在登陆豆瓣这人的信息,这样的话,把两个系统的数据库账号直接进行比较不可以吗,如果怕明文被获取也可以进行对称秘钥加密啊,为什么还要用autho的验证去做这件事。
3.如果是在当前平台上用户只需要一次登录就可以获取token去访问平台其他子系统,也就是单点登录的话,我用用户名密码登陆后保存一个加密的cookie或者session去其他子系统验证信息确定是否可以登陆就好了,为什么还要用oauth验证?
求解答、。。

洛晨随风的主页 洛晨随风 | 初学一级 | 园豆:71
提问于:2018-06-06 09:48
< >
分享
最佳答案
0

1.在自己的项目网站中使用ouath有什么意义吗,为什么不直接使用读取数据库的用户名和密码去进行验证。

===》》

你自己做了个京东,按理说上你的京东买东西的人应该在你网站里注册,然后下单结算。

问题是,很多人(比如我)很不喜欢到各个网站理注册。

这时候,我直接拿我的QQ或者微信或者微博登录你的网站。

你说,这种搞法有意义没有?

奖励园豆:5
西漠以西 | 小虾三级 |园豆:1675 | 2018-06-06 11:17

但是在分布式环境下或者跨域共享session的时候也是直接对比吗..这样是不是技术上太low了或者有其它问题?总觉得现在的大型网站似乎不是很单纯的这样干的吧,我有点蒙。。

洛晨随风 | 园豆:71 (初学一级) | 2018-06-06 11:39

@洛晨随风: 不关session什么事。

技术本身不存在low或者不low的问题,只有适用或者不适用的问题。

如果你的API是要被公开出来,供多方调用的(A公司的X应用,B公司的Y应用,ZHANGSAN使用浏览器来调用它,李四使用安卓或者winform来调用它),那么OAuth是目前业界通用的解决方案。

西漠以西 | 园豆:1675 (小虾三级) | 2018-06-06 11:55

@西漠以西: 懂了,oauth最终其实是服务于对外提供的接口的目的以及做单点登录所使用,一般正常的登录还是通过用户信息存储到cookie然后进行cookie的form验证,包括.net core 2这样的框架,之前一直担心基于cookie的验证模式会出现什么隐患的,所以可能想了许多

洛晨随风 | 园豆:71 (初学一级) | 2018-06-06 12:52
其他回答(1)
0

当然可以自己弄一套鉴权授权的东西.没问题的.

这些现成的只是更完善.

吴瑞祥 | 园豆:29449 (高人七级) | 2018-06-06 10:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册