社交登录
2019-05-29 本文已影响0人
异步_缓存_队排好
简介
微信,微博等网站的用户量非常大,别的网站为了简化自我网站的登陆与注册逻辑,引入社交登录的功能;
实现的步骤
- 用户点击qq登录
- 引导用户跳转到qq授权页
- 用户主动点击授权,跳回之前的网页;
OAuth2.0
OAuth(开放授权):是一个开放标准,允许用户授权第三方网站访问他们存储在另外服务提供者上的信息,而不需要将用户名和密码提供给第三方网站或者分享他们数据的所有的内容.
官方流程图OAuth2.0: 对于用户相关的OpenAPI(例如获取用户信息,动态同步,照片,日志,分享等),为了保护用户的数据安全和隐私,第三方网站访问用户数据前都需要显式的向用户征求授权.
(A)用户打开客户端以后,客户端要求用户给予授权。
(B)用户同意给予客户端授权。
(C)客户端使用上一步获得的授权,向认证服务器申请令牌。
(D)认证服务器对客户端进行认证以后,确认无误,同意发放令牌。
(E)客户端使用令牌,向资源服务器申请获取资源。
(F)资源服务器确认令牌无误,同意向客户端开放资源。
整合微信登录
微信登录时序图- 第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数;
- 通过code参数加上AppID和AppSecret等,通过API换取access_token;
- 通过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。
整合微博登录
- 引导用户点击地址,会返回一个token值
- 通过这个code值,去获取一个access_token
- 通过这个token,可以做什么样的事情呢?(登录以后才能看)