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. MySQL 迁移到 Redis 记

    前些日子,一个悠闲又不悠闲的下午,我还在用 Node.js 写着某个移动互联网应用的 API 服务端.那时还是用 MySQL 作为数据库,一切都很好,所有功能正常运行.可是有很多问题让人不安: 频繁的 ...

  2. 搭建内网Yum源

    搭建内网yum源 阅读(2,238) 一:因内网服务器 众多,当统一安装一些比较大的rpm的时候全部从外网下载就比较慢,而且还占用了一定的出口流量,因此在内网部署了一台yum服务器,将阿里云的epel ...

  3. tomcat之nginx调度

    # :安装nginx [root@nginx ~]# yum install nginx -y #配置 [root@nginx ~]# vim /etc/nginx/nginx.conf upstre ...

  4. JS - 事件常用

    问:什么是事件? 答:JS创建动态页面,可以被JS侦测到的行为.网页中的每个元素都可以产生某些可以触发JS函数的事件.比如说,当用户点击按钮时,就发生一个鼠标单击(onclick)事件,需要浏览器做出 ...

  5. 通过Jedis操作Redis

    package com.yh; import org.junit.After; import org.junit.Before; import org.junit.Test; import redis ...

  6. C# 枚举的flags 标志位应用

    枚举有个特性叫标志位,使用方法如下 [Flags] enum Foo { a =1, b = 2, c = 4, d = 8 } 每个值需要为2的n次方,保证多个值的组合不会重复. 这样在判断其中一个 ...

  7. VUE3 之 template 语法

    1. 概述 老话说的好:干一行,爱一行,踏实工作才是真正快乐的源泉. 言归正传,今天继续聊 VUE3 的话题,今天聊聊 template 语法. 闲话不多说,直接上代码. 2. template 语法 ...

  8. Redis缓存穿透、击穿、雪崩,数据库与缓存一致性

    Redis作为高性能非关系型(NoSQL)的键值对数据库,受到了广大用户的喜爱和使用,大家在项目中都用到了Redis来做数据缓存,但有些问题我们在使用中不得不考虑,其中典型的问题就是:缓存穿透.缓存雪 ...

  9. JAVA删除某个文件夹(递归删除文件夹的所有文件)

    /** * 递归删除文件夹下所有内容 最后删除该文件夹 * @param filePath 要删除的文件夹路径 * @return */ public boolean deleteFiles(Stri ...

  10. Linux C++获取磁盘剩余空间和可用空间

    完整源码 #include <sys/statfs.h> #include <string> #include <iostream> #include <li ...