第三方登录原理

以百度网盘通过qq登录为例,剖析第三方登录原理

       1.用户在百度网盘登录页点击qq登录链接,百度网盘重定向用户的当前链接到qq

       2.用户在百度网盘重定向到的qq登录页面,输入账户密码,发送信息到qq

       3.qq校验通过后,返回一个code到客户端,此时客户端发送该信息code到百度网盘

                     code的特点:只能使用一次,有效期短一般为15min,且只能被callback的地址所使用

                     callback地址:即从哪个链接重定向到的qq登录页面

       4.百度网盘接收code信息后,通过百度网盘的服务器,直接去qq服务器获取到一个Token信息

                     Token信息特点:一个包含qq、头像等信息的加密数据,且有过期时间

       5.百度网盘发送Token信息到腾讯服务器,解密获取到对应的qq,头像等信息,并保存到自己的服务器。

第三方登录原理_第1张图片

数据安全的特点:

       1.用户登录成功后,qq返回了一个code信息到客户端:

               如果客户端被恶意软件抓包获取到了该code信息,当恶意软件通过code从qq获取对应的用户信息时,通常会出现获取地址和callback地址不符等现象,且在百度网盘使用code会code会自动失效。

       2.百度网盘和qq之间通过Token进行数据传输:

                恶意软件通常通过客户端抓包来获取数据的,但是对于百度网盘和qq之间的直接通讯是抓不到数据的,除非恶意软件被植入百度网盘的服务器等

 

OAuth2.0协议

        用来授权第三方应用,获取用户数据。

       即数据的所有者,通过一个token的方式,来替代password的方式,来时百度网盘获取到登录qq的权限

你可能感兴趣的:(分布式)