pgl147258 / 为什么?2 / 很多网站提供用微博和 QQ 账号登录,好处...

0 0

   

很多网站提供用微博和 QQ 账号登录,好处是什么呢? |

2014-08-21  pgl147258

【林灿斌的回答(738票)】:

谢邀!8月下旬刚好搞过OAuth

首先反对目前赞同数超过1的除了我以外的所有回答。

  • 回答下题主本身的问题:很多网站提供用微博和QQ账号登录,好处是什么呢?

好处是当你登陆了QQ客户端或者微博时,用户可以不输入账号密码直接点击(无需输入任何数据)使用绑定的QQ号或微博账号登陆。这个需求是很大的,我网站设立初期就有很多人要求我添加这个功能。

这个我做过调查,确实很多用户需要,因为登录了QQ客户端,在那些网站就不需要输入密码登陆了。没调查就没有发言权。

————————————以下为战斗部分——————————————

1、@Benjamin 提到的 “诱使用户误以为不用注册账号就能登录他们的网站了,有利于吸引用户。” 这个其实QQ互联官方的要求就是:“点击登陆后,要直接就是登陆,不能要求设置账号密码什么的”,不然无法通过审核,我前期就是这样无法通过审核,后期在代码里动了点手脚才过的,审核通过后又改了回去。

很多网站提供用微博和 QQ 账号登录,好处是什么呢?

设置昵称这个前期小小麻烦,以后的还是会很方便的,毕竟以后就不用再输入了。

2、@DecKen 的说法,“所谓的使用微博和QQ账号登陆,无非是网站想获取你更多的信息(QQ号,微博)”,也是错误的。OAuth协议返回给接通微博登陆或者QQ登陆的网站的登陆数据,只有一串可以叫做openid的字符串,并没有QQ账号,当然你可以拿着openid等数据继续通过腾讯的OpenAPI继续获取更多资料(JSON格式),例如昵称什么的,但是还是没有QQ号。例如get_user_info的API,只能取得如下数据。

{ "ret":0, "msg":"", "nickname":"Peter", "figureurl":"http://qzapp.qlogo.cn/qzapp/111111/942FEA70050EEAFBD4DCE2C1FC775E56/30", "figureurl_1":"http://qzapp.qlogo.cn/qzapp/111111/942FEA70050EEAFBD4DCE2C1FC775E56/50", "figureurl_2":"http://qzapp.qlogo.cn/qzapp/111111/942FEA70050EEAFBD4DCE2C1FC775E56/100", "figureurl_qq_1":"http://q.qlogo.cn/qqapp/100312990/DE1931D5330620DBD07FB4A5422917B6/40", "figureurl_qq_2":"http://q.qlogo.cn/qqapp/100312990/DE1931D5330620DBD07FB4A5422917B6/100", "gender":"男", "is_yellow_vip":"1", "vip":"1", "yellow_vip_level":"7", "level":"7", "is_yellow_year_vip":"1" }

基本只有昵称、各种尺寸的头像的URL,性别,黄钻相关的信息。

另外其实我很奇怪知乎很多完全没有网站开发经验的人也来回答这种问题。

以下为我QQ登陆数据表所储存数据,可以看到我只保存了openid,并没有QQ号,不是不想保存,是没有API可以获取到这种资料。

很多网站提供用微博和 QQ 账号登录,好处是什么呢?

openid每个用户各不相同,有一一对应的关系。但是同一用户,不同的appid获取到的OpenID是不同。因此是openid每个用户各不相同,有一一对应的关系。但是同一用户,不同的appid获取到的OpenID是不同。因此是无法通过openid逆向工程得出QQ号的

当然,新浪微博的API权限就高很多了,甚至可以用那些API,做出Fuubo这样的东西,所以获取微博的地址是可以办到的。当然,这也是合理的,因为微博的定位就是微型博客,博客不同于QQ、手机号码这样的私人联系方式,博客在不作隐私设置的前提下对网络上的任何人都是公开的,因此获得新浪微博的地址并无任何不妥。

像我的新浪微博地址:http://weibo.com/lincanbin 我就可以非常大方地放出来让你们关注。

3、所以@段炼 的说法,也是错误的,OAuth协议只返回openid,并不返回登陆密码。

4、@安雅 的“直接引入原qq好友关系”这个功能是不存在的。

5、@VrWorking 的关于移动终端登陆的说法(原文:“如果在手机或平板客户端 App,就比较难了。因为 App 的特点你是看不到地址栏的,因此无法确认这个登录页面是不是腾讯的。只能看这个 App 是否是官方的,和是否具备足够的知名度。满足这两个条件下的 App 开发商不会、也没必要去偷取你的账户信息(也不绝对,比如 CSDN 脑残程序员偷偷的保存用户密码明文到数据库,结果城门失火殃及池鱼)。”),其实腾讯是有另一个API,可以调用QQ客户端登陆的,并非只有Webview一个方法。不过目前这个只支持安卓和IOS,WP等小众系统是不支持的,如下图:

很多网站提供用微博和 QQ 账号登录,好处是什么呢?

单点登录(Single Sign On)

使用了这个API的,大家比较熟悉的就有“天天爱消除”、“唱吧”等等,不需要使用WebView跳转到一个网页手动输入账号密码登陆,也是非常方便的。不过SSO登陆这个API会启动QQ客户端,响应在一些手机上相对比WebView较迟缓。

6、@痴梦 说的“婊子立牌坊”,也是错误的说法,首先腾讯的QQ互联要求(即“登陆后不需添加任何新的即可直接登陆”)只适用于留言板等应用,而论坛之类的应用,并不适合。

像各位想保护隐私嘛,所以腾讯返回给与QQ互联互通网站的信息也是有限的,有用的只有一个opedid和name(昵称)。可是论坛为了区分各个用户,必须有identifie,对外展示,所以至少需要再设定一个昵称。可是一个拥有多套登陆系统(必须有多套,最起码自己得有一套,不然就丧失独立性了)的网站,把Openid作为mainkey显然是不合适的,name的话更不用说,是绝对不能作为identifie的——因为有含有非法字符或者过长的可能性,也可能重复,有的网站也有提供UID登陆或者邮箱地址登陆的功能,如果直接把QQ昵称作为username入库,就可能导致该用户通过常规途径登陆失败。

简言:把腾讯返回的name作为username入库前需要做合法性检测,所以用户名是必须在登陆后再次填写的。除非你打算全站只用QQ这个登陆系统,而不采用自己独立的账号系统。

(合法性检测:长度,不能全为数字,不包含非法字符,数据库user表同字段中不存在相同数据。)

当然,有些网站像知乎,是允许使用已存在的name的并且可以任意修改的,像我叫林灿斌,你也可以在知乎注册个号叫林灿斌,你QQ昵称是林灿斌,用QQ登陆后知乎自动帮你创建一个name是林灿斌的号,这样的网站逻辑就可以不输入新昵称直接登陆。而大多数网站,像大部分论坛、微博……name都必须是唯一的,这样就不可能实现直接登陆,有些是历史遗留问题,有些是本意如此。

最后按照知乎答非所问的风气,最后应该会有人出来普及OAuth协议然后获得高票赞同吧,建议那些并没有相关经验的回答者等那种普及知识的回答出现并且看完再作答。

————————————————————————

最后,其实QQ的审核规定还是挺严格的,不过QQ旗下的Discuz是不需要遵照这个规定的。

很多网站提供用微博和 QQ 账号登录,好处是什么呢?

因此很多使用DIscuz的论坛,都这样,造成了混乱,与腾讯本意相违,这里抄送腾讯反省一下。因此很多使用DIscuz的论坛,都这样,造成了混乱,与腾讯本意相违,这里抄送腾讯反省一下。

————————————————————————

另外还是有好网站的,像我的网站,用QQ或者微博登陆,只需要设置一个在我站显示的昵称(原因见第6条),并不需要设置密码(当然也在设置里提供了设置密码的选项)。

那些让那么多人骂娘的网站,多数是采用了一家不遵守腾讯QQ互联规定的公司旗下的Discuz的程序。

另外OAuth只是方便下次登录,我觉得注册时设置账号密码的设计对于站长来说还是必要的,防止上了贼船下不来。

如果有国内网站早期用Google OAuth的Google Account登录,不需要设置账号密码,那么现在这个网站肯定要傻眼了。

【何波的回答(104票)】:

不赞同@Benjamin 这是一个骗局的说法, 新浪和腾讯的第三方认证都是基于oauth体系的,旨在打造统一的认证体系。第三方网站采用新浪或者腾讯的账号登陆后,新浪或者腾讯会返回一个userid作为唯一标识符,有些网站会让用户再设置一个本地的账号,作为映射,但是也无需用户输入密码,用户也无需记住这个本地账号,下次继续用新浪或者腾讯账号登陆即可。

带来的好处就是:

1. 用户不需要为每个网站都维护一套用户名密码,

2. 防止了许多小网站安全做的不好导致密码泄露的问题。而很多用户都是很多网站相同的密码,导致一个泄露后波及多个账号。就这点我也不认同@VrWorking 的对用户没有好处的观点。 无需注册,账号安全这难道不是好处?

3. 一些基本信息,昵称,头像可以在多个网站之间共享。

【Benjamin的回答(212票)】:

这功能是个彻底的骗局。

功能的名字应该叫做:使用QQ或微博账号资料进行注册。

却被这些无良厂商叫做:使用QQ或微博账号登录。

好处当然有,都是对厂商的,对用户来说没太多好处:

  1. 诱使用户误以为不用注册账号就能登录他们的网站了,有利于吸引用户。

  2. 用户发现上当后,多数人选择继续按next或ok按钮,继续注册一个账户。于是,他们的误导成功了。

  3. 免去用户填写新注册资料的麻烦。
  4. 对腾讯与新浪都是一个推广,既可以增加知名度,也可以带来“开放”的美名。虽然这不是真正意义上的开放。
这是国内突破道德底线厂家们的又一次胜利。

联合起来,把用户摆在案板上一起切,是他们最终目的。

当然,对待宰的用户也有好处:砍头的时候不那么疼,就算疼了,习惯了就好了,就与被治理前的电视广告一样。

国内用户是蛋糕,而不是上帝。

【何西的回答(11票)】:

  • 你知不知道有多少用户在看见登陆/注册的时候就放弃了你们的网站?
  • 你可以没有手机号,但你不能没有QQ号。

如1楼所说,输入qq号了还要注册除外。

【布棉|徐财星的回答(4票)】:

好处是方便,用一个帐号可以登录到N个平台,彻底抛弃在每个平台上不同帐号密码的问题.

从目前新浪微博帐号qq帐号的登录来看,在隐私保护方面还是不错的.

【刘英的回答(6票)】:

有两个好处,一个是增加品牌认可,另外注册以后登陆很方便

【StrongWang的回答(6票)】:

@Benjamin 的答案不知道为何又这么多人赞

本人手写过新浪、腾讯、非死不可(facebook)、人人等社交网站的ios端授权与分享(没有用官方sdk),直接简短的给大家科普一下授权登陆第三方网站的大概逻辑,为了通俗易懂,就不说那么详细。这东西其实是这个样子的:

点击新浪微博的按钮之后,做了以下几件事情:

请求了一个官方指定的链接——>展示一个输入微博账号密码的页面(这个页面是新浪返回给你的,第三方是不能记录到你输入的账号密码),点击登陆,——>只要输入的是正确的账号密码,新浪会返回一个钥匙串(accesstoken),说白了就是新浪发给你用于登陆第三方网站的通行证——>第三方拿着你的通行证和新浪返回给他们的uid(用户识别的一串代码),去拉取用户的基本资料(如头像、年龄、性别等)。

以上就是授权的基本过程,当然详细一点的还包括是否允许访问相册之类的,这些接口都在各大开放平台的文档上写的很清楚,又兴趣的可以去查阅,以上仅为科普。

这个技术是为了降低登陆门槛,没看出什么阴谋在里边。

【晴晴酱的回答(4票)】:

我的感受就是:就你们这种冷门网站,再不用微博和qq直接登录,两天我就能把账号密码全忘了。

【知乎用户的回答(2票)】:

部分网站是免注册,部分网站是登陆后还要再在网站上注册一个号。

ps.强烈bs hupu,hupu在连接qq后,在hupu发状态,发帖子之后,都会不经同意自动同步到qq空间,qq说说,腾讯微博,而且hupu网站内没有设置可以关掉这个选项。我想第三方登陆也是腾讯之类的网站增加自身产品活跃度的一个手法。。希望贵网站如果考虑使用通过QQ登陆,请务必不要有这种流氓行为,谢谢!

【刘燕的回答(1票)】:

我作为一个用户,使用的体验是很方便,新产品推广期可以降低用户进来的门槛

【知乎用户的回答(2票)】:

1.降低登陆门槛,吸引更多用户!

2.关联社会化账号,加强分享,利于网站向外延伸!

【张漫哲的回答(1票)】:

现在作为一个这种按钮的使用者。无论是注册还是登录,其实都没有太大的区别。对于我们来说确实是很方便,尤其是账号管理。互联网上那么多网站,总会有一两个忘掉帐号密码。这个不会忘了,改密码也很方便。整合了以前的帐号,社区的等级也有了保证。我到是觉得蛮好的,要是更方便就好。

【苏泽北的回答(1票)】:

我很多时候不登陆小网站是因为我不想注册不想记住那么多名字和密码,我只需要点一个使用QQ登陆,一切都解决了,简单易用还无副作用。QQ可以借此提升自己的影响力和用户粘性,小网站可以提高自己网站用户的数量。三全齐美,何乐不为?

【山村的回答(0票)】:

1.考虑考虑以后的安全问题

2.考虑考虑自己的品牌战略.为何大平台自己却没有合作登录呢?

【涂祺招的回答(0票)】:

1. 适合小创业项目,不适合想搞大的。燕雀安知鸿鹄之志。

2. 不同意Benjamin 的说法,facebook之类也是这么开放登陆。不过QQ登陆限制了获取好友资料。

3. 我不认为需要注册的网站 就会流失用户。真这样的话weibo怎么可能成功。zhihu怎么会成功。

【魏晓生的回答(0票)】:

好处是可以不记住账号密码。

【deric的回答(0票)】:

我觉得帐号的安全问题是值得思考的,不能完全依赖第三方的帐号验证,发展自身网站的用户应该才是重点.也许初期可以考虑使用第三方

【阿达的回答(1票)】:

只有很少的网站可以直接用第三方登录,其他网站都是该死的骗子。

【何明洋的回答(0票)】:

建议只要qq登录,其他的全部砍掉!

【JasonCUI的回答(0票)】:

同意@何波 的答案。第三方平台的授权认证可以省去注册的麻烦,在推广成长的路上为自己拆了一道小门槛之外;还可以拿到用户基本资料,甚至是有可能对自己业务有很大帮助的兴趣图谱等有价值的资料。

当然,鉴于无良的大环境,并不能保证这些网站不滥用这个机制拿到你的帐户信息来作恶。

原文地址:知乎

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。如发现有害或侵权内容,请点击这里 或 拨打24小时举报电话:4000070609 与我们联系。

    猜你喜欢

    0条评论

    发表

    请遵守用户 评论公约

    类似文章
    喜欢该文的人也喜欢 更多