概念:OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如基本消息,照片,联系人列表),
而无需将用户名和密码提供给第三方应用。
一、应用场景
为了理解OAuth的适用场合,这里举一个使用第三方账户进行登录的例子。
现在一般登陆都会采用第三方授权登陆,比较常见就是微信、qq、微博授权登陆。这里以微信授权登陆为例:
现在我在未注册的情况下去访问A网站,A网站为了提高用户体验,可以省去你在这次网站申请注册的步骤,让你通过微信授权登陆去拿去你在微信上的基本信息。
问题就在这里,如果拿到微信用户基本信息给到A网站,直接给A网站我登陆微信的账号密码,那么问题可想而知。
1、这个也太不安全了,我只想给A网站我的在微信上的基本信息,而不是所有信息,通过用户密码可以获取我的所有信息。
2、用户只有修改密码,才能收回赋予"A网站"的权力。但是这样做,会使得其他所有获得用户授权的第三方应用程序全部失效。
3、只要有一个第三方应用程序被破解,就会导致用户密码泄漏,以及所有被密码保护的数据泄漏。
OAuth就是为了解决上面这些问题而诞生的。
从上面可以看出主要有三个身份
用户
使用第三方账户登录一个新的网站,对于用户来说就不需要走复杂的注册流程。
第三方平台(微信)
上面来讲微信就是第三方平台,那么对于第三方如何做才能保证用户的安全呢?