admin管理员组文章数量:1535503
QQ互联
介绍
1、实现用户使用QQ帐号登录
网站功能,且可以获取到腾讯QQ用户的相关信息
- QQ
一键登录
可减少登录交互
操作,大大降低网站注册门槛
,给网站带来海量新用户
。
2、实现网站的分享、评论、邀请等功能,即网站的社交化
功能。可以将相关信息同步
到QQ空间、腾讯朋友、腾讯微博等平台,建立网站与腾讯各平台互动关系
,利用庞大的QQ用户群来实现网站的快速传播
。
OAuth协议
最新版本为OAuth2.0
介绍:用户通过OAuth协议授权
第三方网站,使第三方网站有权访问用户存储在另外服务器(这里是QQ服务器)上的数据(比如用户名和密码),而无需将这些数据交给第三方网站。第三方网站访问用户数据前都得显示的向用户征权
。
server-side
OAuth2.0认证的一种模式,又称Web Server Flow,适用于需要从web server访问的应用,比如web网站。
授权验证流程:
1、客户端让用户代理(浏览器)跳转到授权服务器,需要传入客户端标识符
(response_type、client_id、state(防御CSRF攻击)、scope(描述被访问的资源))以及回调地址
,同时还要请求resource owner进行权限验证;
2、授权服务器验证完用户名密码正确无误后,则跳转到回调地址指定的地址,并携带授权码
以返回给客户端;
3、客户端拿到授权码后,再次请求授权服务器,传入授权码和回调地址,想要获得access token;
4、授权服务器验证授权码有效,则返回access token给客户端;
5、客户端利用access token获取resource owner受保护的资源。
特别说明: 为了支持应用能够长时间都能够访问用户的相关信息, 在access token过期后, 可以使用refrash token换取新的access token来使用。
为什么不跳过授权码环节?
1、浏览器的redirect_uri是一个不安全信道,此方式不适合于传递敏感数据(如access token)。但授权码可以通过redirect_uri方式来传递,因为拿授权码去交换access token需要验证Client的真实身份,除了Client之外,其他人持有授权码是没有用的。引入授权码之后,便可以保证Client是access token的唯一持有人。因此不怕授权码泄漏。
2、如果不引入授权码,就额外要求Client必须使用数字签名技术来进行身份认证,而不能用简单的密码或口令认证方式。
client-side
OAuth2.0认证的一种模式,又称User-agent Flow,适用于需要通过客户端访问的方式,例如需要通过浏览器的javascript代码,或者电脑/移动终端上的客户端访问时。
授权验证流程:
cript代码,或者电脑/移动终端上的客户端访问时。
授权验证流程:
版权声明:本文标题:QQ互联原理 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1726906463a1089832.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论