OpenId,Oauth 小窥

czsong 2011-06-13

  之前关注过Openid   和 Oauth,关于两者的区别有很多论述

   直说个人的理解,OPenId提供隔个人互联网统一的访问入口,将权限认证放到一个固定的认证中心,通过统一的OPenId认证中心,支持用户访问所有已接入的OpenId Provider的网站,

     OpenId的好处 :

       免去记忆相关网站个性化用户名和密码,毕竟随着上网历史的增加,各种账号密码繁多,能记所有的信息真的是个艰巨的任务,或者一些懒人直接使用万能密码和账户,安全性差的十万八千里,

     重要的一点: OpenId 只提供认证过程,不提供其他隐私资料和操作权限

    Oauth 提供的是权限分配, oauth的使用方成为第三方,第三方接入Oauth来获取提供方的用户资料和权限。提供方控制用户的操作权限。例如新浪微博的应用。

   也就是OpenId 是验证,  Oauth是授权 。

  但是似乎当前各种网站合作案例并不会严格去区分OpenId和Oauth 。很多两项功能合二为一了,安全性还是要注意。

 今天关注到京东商城合作方登陆的方式让我有些费解, 正常来说这种就是OpenId的方式,作为合作方的QQ和新浪微博应该属于OpenIdProvider

   步骤如下:

  1  用户访问京东

  2  点击登陆,可以选择使用QQ登陆 

  3  当使用QQ认证登陆是,输入QQ账号密码,然后直接跳转到京东首页登陆成功

 这个过程看似水到渠成,是标准的OpenId, 但实际是存在安全隐患的,这个时候QQ账号实际也登陆了。用户可以直接在详情页面上,分享当前页面到 tx微博 , 无需再次输入密码, 但是当你离开京东退出的时候, QQ账户并不退出。这就会造成QQ账号信息泄露,用户却丝毫未察觉,安全性大打折扣

    其实这个过程只要认证通过就好了,没有必要写腾讯的登陆session的。

   所以你使用这种方式登陆京东一类网站时,要打开OpenIdProvider提供者,退出相关的网站。

新浪微博则是另外一种方式,其实就是Oauth,或许是新浪没有提供相应的OpenIDService。不过也没关系,没有腾讯类似的安全问题

      1  访问京东

      2  使用微博账号登陆

      3 确认微博授权(典型的Oauth 策略),但是出现在OpenId的过程中。

     授权页面很明确: 但其实京东没有这些相关功能的。

 获得你的个人信息,好友关系

分享内容到你的微博

获得你的评论

     所以现在OpenId和oauth似乎被混淆和滥用了,安全性有时容易忽略,用户还是要要注意个人信息安全。

相关推荐