OAuth简介

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

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

OpenID和OAuth的区别

      在项目开发中,我们经常说认证和授权,经常把他们放到一起去描述,那两者在本质上是有区别的,OpenID和OAuth就是我们说的认证和授权。

      OpenID:Authentication 认证

      OAuth :Authorization   授权

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

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

OAuth1.0和OAuth2.0的区别

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

  • auth1.0与Oauth2.0是相互不兼容的,所以他们为我们提供了不同的授权方式:

       2.0的用户授权过程有3步:

         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只有一个用户授权流程。
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

Spring Cloud OAuth2 微服务认证授权

OAuth2.0是用于授权的行业标准协议,它致力于简化客户端开发人员的工作,同时为Web应用、桌面应用、移动应用等各种客户端应用提供了特定的授权流程。本文讲解如何使用OAuth2协议来授权客户端应用访问SpringCloud微服务。微服务认证授权概述单点登录相比于单体应用,微服务应用需要在多个服务之间共享

Spring Security实现OAuth2授权认证教程(实现token认证)

一、OAuth2介绍1、什么是OAuth2?OAuth是一个开放标准,该标准允许用户让第三方应用访问该用户在某一网站上存储的私密资源(如头像、照片、视频等),而在这个过程中无须将用户名和密码提供给第三方应用。实现这一功能是通过提供一个令牌(token),而不是用户名和密码来访问他们存放在特定服务提供者的数据。

SpringSecurity进阶:OAuth2.0详解

OAuth2是什么?OAuth是一个为了方便用户登入而使用的授权流程,他的优点是不需要向第三方平台暴露我们的用户名和密码,而是使用授权服务器颁发短期的token和效验token的方式开放部分资源给第三方平台OAuth是一个授权协议不是认证协议OAuth2的授权方式!(https://p1tt