OAuth简介

    Oauth的官方简介是:随着大量开放平台的出现,创建在开放平台之上的各类第三方应用也在大量冒出,出对安全性和统一标准的要求,因而出现了oauth协议web

    简单来讲,OAUTH是一种开放的协议,他能为桌面程序或者基于BS的web应用提供一种简单的标准方式去访问须要用户受权的API(ApplicationProgramming Interface)服务,并且任何第三方均可以使用OAUTH认证服务。在为第三方提供服务的过程当中,他还能起到保护用户帐号安全的做用安全

OpenID和OAuth的区别

      在项目开发中,咱们常常说认证和受权,常常把他们放到一块儿去描述,那二者在本质上是有区别的,OpenID和OAuth就是咱们说的认证和受权。服务器

      OpenID:Authentication 认证加密

      OAuth :Authorization   受权spa

     简单来讲,咱们能够认为OAuth为咱们解决“用户能(想)作什么”,是“WHAT”的问题,而OpenID则为咱们验证“用户是谁”,是解决“WHO”的问题。对Oauth和OpenId的做用仍是有点抽象,就举个例吧。CSDN使用QQ登陆,进入csdn的登陆页,点击使用QQ登陆,在进入到QQ登陆界面后,最开始是要请求认证,用户输入QQ号和密码,点击登陆,腾讯互联会先进行验证该用户是否为个人用户,若是是个人用户,那么我会通知你(CSDN),他是个人用户,你可使用该帐户登陆你的系统,这个过程就是认证(Authentication),认证就是证实你是谁,你是不是真实存在的,这就是OpenID。token

      而在QQ受权登陆下方,有两给CheckBox复选框,能够容许CSDN得到您的昵称、头像、性别,这是在认证以后的事了,在腾讯互联你是我平台的用户后,你能够本身选择CSDN是否有权去获取你的相关信息,当你勾选后,腾讯互联就把你的这些基本信息给了CSDN,这个过程就是受权(Authorization),受权就是肯定了你是谁后,又把属于你的东西给了别人,这个就是OAuth。资源

OAuth1.0和OAuth2.0的区别

     OAuth有OAuth1.0和OAuth2.0两个版本,两个版本的区别以下:开发

  • auth1.0与Oauth2.0是相互不兼容的,因此他们为咱们提供了不一样的受权方式:

       2.0的用户受权过程有3步:io

         A)用户到受权服务器,请求受权,而后返回受权码(AuthorizationCode)登录

         B)客户端由受权码到受权服务器换取访问令牌(access token)

         C)用访问令牌去访问获得受权的资源、

       总结:获取受权码(Authorization Code)—>换取访问令牌(access_token)—>访问资源:

       1.0的受权分4步,

         A)客户端到受权服务器请求一个受权令牌(requesttoken&secret)

         B)引导用户到受权服务器请求受权

         C)用访问令牌到受权服务器换取访问令牌(accesstoken&secret)

         D)用访问令牌去访问获得受权的资源

       总结:请求受权令牌(request token&secret)—>换取访问令牌(access token&secret)—>访问资源

  •  1.0协议每一个token都有一个加密,2.0则不须要。这样来看1.0彷佛更加安全,可是2.0要求使用https协议,安全性也更高一筹。
  • 2.0充分考虑了客户端的各类子态,于是提供了多种途径获取访问令牌,有:受权码、客户端私有证书、资源拥有者密码证书、刷新令牌等方式,并且验证过程更为简洁。相比之下 1.0只有一个用户受权流程。
相关文章
相关标签/搜索