OAuth协议主要作用
OAuth协议的主要就是种授权协议,就是在用户不将服务提供商的账号密码交给第三方应用的场景下,让第三方的应用有权限去访问用户存放在服务提供商上的一些资源
OAuth协议要解决的问题
这里直接举例说明,如我们的微信账号,这个微信号上有我们一些用户信息,如头像昵称,性别等信息!作者我呢要开发一个APP,需要使用微信用户关联微信号登陆,那么就需要得到微信账号授权的用户数据,这里最大的问题是微信肯定不允许我们任意读取用户数据的,那么这里就需要微信用户的授权,授权同意后我使用微信账号的用户数据,当我们的APP有了微信用户的授权后,我们就可以在微信中读取授权用户的微信账户数据了,那么微信就会将用户的账号部分数据开放给我们了,那么我们如何得到用户的授权呢,最传统的做法就是我们自己开发的APP向用户去要账号和密码,看用户愿不愿意给,就算用户愿意给,那么这样的流程还是存在很大的问题的
OAuth诞生的原因
- 首先我们的APP得到账号和密码后可以访问用户在微信上的所有数据,
- 用户只有修改密码才能收回授权,这里改密码的话,如果这个账号还有其他第三方使用的话,那么密码一旦修改,其他第三方也会无法使用!
- 密码泄露的可能性大大提高,如果这里有多个第三方使用这种方式授权,那么就会有多个地方密码暴露的风险,任何一个第三方账号密码泄露了,那么微信账号密码可能就会丢失,
OAuth解决的问题