第三方登录原理探究
底层协议
OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。
OAuth允许用户提供一个令牌,而不是用户名和密码来访问他们存放在特定服务提供者的数据。每一个令牌授权一个特定的网站(例如,视频编辑网站)在特定的时段(例如,接下来的2小时内)内访问特定的资源(例如仅仅是某一相册中的视频)。这样,OAuth让用户可以授权第三方网站访问他们存储在另外服务提供者的某些特定信息,而非所有内容。
OAuth是OpenID的一个补充,但是完全不同的服务。
流程梳理
拿QQ做例子,简单说一下流程:
当用户点击QQ登陆,你会通引导用户跳转到第三方登陆的登陆界面, 当用户成功登录以后会自动跳转回来,并附带一个code参数,接着你使用code就可以获得access token(访问令牌),对于QQ,由于第三方登录结合了Openid, 所以需要再通过token获取openid。
重点:这个openid是和QQ用户一一对应的, 使用access token + openid 即可获取用户信息。
第三方登录的实质
首先说一下登录是实质,就是证明 你是你 , 乍一看好像是一个哲学问题.
接下来做进一步的分析, 在登录过程中, 你所提供的用户名,密码代表了,你的证据,代表了虚拟的 你 .
服务器中储存的用户的数据, 重点在于用户的唯一性, 映射了你在现实世界的唯一性.
登录的完成依赖于你所提供 证据 与 服务器中数据的匹配.
为什么使用第三方登录
那么为什

本文深入探讨第三方登录的原理,主要基于OAuth协议。阐述了OAuth如何保证用户资源的安全访问,详细梳理了第三方登录流程,特别是以QQ为例解释了获取access token和openid的过程。此外,还分析了第三方登录的实质、使用原因及其与本地登录的关联,并讨论了解除授权的实践操作。
最低0.47元/天 解锁文章
2282

被折叠的 条评论
为什么被折叠?



