1. 什么是OAuth2.0
* 用于REST/APIs的代理授权框架(delegated authorization)
* 基于令牌Token的授权,在无需暴露用户密码的情况下,使应用能获取对用户数据的有限访问权限
* 解耦认证和授权
* 事实上的标准安全框架,支持多种用例场景
* 服务器端WebApp
* 浏览器单页SPA
* 无线/原生App
* 服务器对服务器之间
2. OAuth 2.0 历史
* 大致始于2007年
* 2010-RFC5849定义了OAuth 1.0
* 2010-IETF开始OAuth2.0制定工作
* 干系人:Google,Microsoft,Facebook,Github,Twitter,Flickr,Dropbox
* 2012年中-第一作者和编辑退出,并将其名字从所有规范中删除(戏剧性)
* 2012年10月-RFC6749,RFC6750
3. OAuth 2.0 优势
* OAuth 2.0 比 OAuth 1.0 易于实现
* 更安全,客户端不接触用户密码,服务器端更易于集中保护
* 广泛传播并持续采用
* 短寿命和封装token
* 资源服务器和授权服务器解耦
* 集中授权,简化客户端
* HTTP/JSON友好,易于请求和传递token
* 考虑多种客户端架构场景
* 客户可以具有不同的信任级别
4. OAuth 2.0 不足
* 协议框架太宽泛,造成各种实现的兼容性和或操作性差
* 和OAuth 1.0 不兼容
* OAuth 2.0 不是一个认证协议,OAuth 2.0 本身并不能告诉你任何用户信息。
5. OAuth 2.0 主要角色
* 授权服务器(AS)
* 资源拥有者
* 使用令牌
6. OAuth术语
* 客户应用
通常是一个Web或者无线应用,它需要访问用户的受保护资源
* 资源服务器
是一个web站点或者web service API,用户的受保护数据保存于此
* 授权服务器
在客户应用成功认证并获得授权之后,向客户应用颁发访问令牌AccessToken
* 资源拥有者
资源的拥有人,想要分享某些资源给第三方应用
* 客户凭证
客户的clientId 和 密码用于认证客户
* 令牌
授权服务器在接收到客户请求后,颁发的访问令牌
* 作用域
客户请求访问令牌时,由资源拥有者额外指定的细分权限(permission)
7. OAuth令牌类型
* 授权码
用于授权码授权类型,用于交换获取访问令牌和刷新令牌
* 刷新令牌
用于去授权服务器获取一个新的访问令牌
* Bearer Token
不管谁拿到Token都可以访问资源,像现钞
* 访问令牌
用于代表一个用户或服务直接去访问受保护的资源
* Proof of Possession (PoP) Token
可以校验client是否对Token有明确的拥有权
8. OAuth 2.0 的误解
* OAuth并没有支持HTTP以外的协议
* OAuth并不是一个认证协议
* OAuth并没有定义授权处理机制
* OAuth并没有定义Token格式
* OAuth 2.0并没有定义加密方法
* OAuth 2.0并不是单个协议
* OAuth 2.0 仅是授权框架,仅用于授权代理

OAuth2.0的定义的更多相关文章

  1. OAuth2.0 基础概述

    web:http://oauth.net/2/ rfc:http://tools.ietf.org/html/rfc6749 doc:http://oauth.net/documentation/ c ...

  2. 从协议入手,剖析OAuth2.0(译 RFC 6749)

    1.介绍      https://tools.ietf.org/html/rfc6749  传统的client-server授权模型,客户端通过使用凭证(通常的用户名和明文密码)访问服务端受保护的资 ...

  3. Spring Cloud 微服务中搭建 OAuth2.0 认证授权服务

    在使用 Spring Cloud 体系来构建微服务的过程中,用户请求是通过网关(ZUUL 或 Spring APIGateway)以 HTTP 协议来传输信息,API 网关将自己注册为 Eureka ...

  4. OAuth2.0认证流程是如何实现的?

    导读 大家也许都有过这样的体验,我们登录一些不是特别常用的软件或网站的时候可以使用QQ.微信或者微博等账号进行授权登陆.例如我们登陆豆瓣网的时候,如果不想单独注册豆瓣网账号的话,就可以选择用微博或者微 ...

  5. OAuth2.0授权登录

    最近工作中遇到了多系统间的授权登录,对OAuth2.0进行了学习研究,并总结备忘. [场景] 我们登录一些论坛等网站的时候,如果不想单独注册该网站账号,可以选择用微信或QQ账号进行授权登录. 这样的第 ...

  6. 《OAuth2.0协议安全形式化分析-》----论文摘抄整理

    ---恢复内容开始--- 本篇论文发表在计算机工程与设计,感觉写的还是很有水准的.实验部分交代的比较清楚 本篇论文的创新点: 使用Scyther工具 主要是在 DY模型下面 形式化分析了 OAuth2 ...

  7. Spring Security 实战干货: 简单的认识 OAuth2.0 协议

    1.前言 欢迎阅读 Spring Security 实战干货 系列文章 .OAuth2.0 是近几年比较流行的授权机制,对于普通用户来说可能每天你都在用它,我们经常使用的第三方登录大都基于 OAuth ...

  8. 【Oauth2.0】Oauth2.0

    一.什么是Oauth2.0? 1.Oauth2.0即(Open Authorization ),Oauth2.0是一个用于第三方授权的开放标准,是Oauth1.0的升级版本,相比1.0版本易于使用: ...

  9. spring security oauth2.0 实现

    oauth应该属于security的一部分.关于oauth的的相关知识可以查看阮一峰的文章:http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html ...

随机推荐

  1. Oracle学习笔记(1)

    折腾了好久 终于把oracle安装成功了.小兴奋下. 创建了一个数据库 dabook. run--> Services.msc查看服务: 可以看到DABOOK的服务已启动. 1,sys用户 在c ...

  2. Linux目录结构和基础命令

    Linux目录和基础命令 目录 Linux目录和基础命令 1 Linux目录结构 1.1 Linux文件名命令要求 1.2 文件的类型 2. 基础命令 2.1 ls 2.2 cd和pwd 2.3 命令 ...

  3. Java变量和常量

    变量 变量要素包括:变量名,变量类型,作用域. 变量作用域:类变量(static),实例变量(没有static),局部变量(写在方法中) //类中可以定义属性(变量) static double sa ...

  4. 车载以太网第二弹|测试之实锤 -DoIP测试开发实践

    前言 车载以太网测试之实锤系列,之前我们已经从环境设备组成.被测对象组成再到测试过程和测试结果分析,分享了完整的PMA测试 .IOP测试 .TC8中的TCP/IP协议一致性测试 .也分享了1000BA ...

  5. not_the_same_3dsctf_2016

    老样子查看程序开启的保护 可以看到程序是32位的程序开启了nx保护,把程序放入ida编译一下 shift+f12可以看到flag.txt,我们用ctrl+x跟随一下 看到程序,直接想到的就是通过溢出获 ...

  6. C# ASP.NET WebApi 跨域设置

    概述 前后端分离开发模式,一定会遇到跨域的问题.这里收集了2种 C# Asp.Net webapi 相关的跨域解决方案,方便后续查找参考. 2021/10/28 更新: 有更加简单高效的方式推荐< ...

  7. 获取登录验证码失败及前后端不同域导致session丢失问题分析记录

    前言 前两周在把兄弟公司的几个服务部署到我们公司测试环境服务器的时候又遇到了不少问题,因为是前后端分离的项目,所以这次也同样遇到了跨域问题,解决方式也跟上一回的不一样,这里就再来分析记录一下. 登录验 ...

  8. Django把现在时间写入数据库,模板渲染在页面中

    1. 导入time模块 import time 2. 获取现在时间,使用"年-月-日 时:分:秒"这样的模板,赋值给变量 在views.py中: pt = time.strftim ...

  9. my.ini配置文件内容

    # For advice on how to change settings please see# http://dev.mysql.com/doc/refman/5.6/en/server-con ...

  10. reducer在react使用

    ​ 编写store.js 小state reducer 怎么来 纯函数 state+action 生成新的state actions type return{ } state action === s ...