OAuth学习总结
1、为什么需要OAuth?
新浪微博就是你的家。偶尔你会想让一些人(第三方应用)去你的家里帮你做一些事,或取点东西。你可以复制一把钥匙(用户名和密码)给他们,但这里有三个问题:
1)别人拿了钥匙后可以去所有的房间
2)别人拿到你的钥匙后也许会不小心丢到,甚至故意送到它人手里。这样你都不知到谁有你家钥匙。
3)过一段时间你也许会想要回自己的钥匙,但别人不还怎么办?
OAuth 是高级钥匙:
1)你可以配置不同权限的钥匙。有些只能进大厅(读取你的微博流)。有些钥匙可以进储藏柜(读取你的相片)
2)钥匙上带着指纹验证的(指纹 = appkey)。 收到钥匙的人只能自己用,不能转让
3)你可以远程废除之前发出的钥匙
相对来说, OAuth比给出用户名密码安全。
2、OAuth的产生及版本
在OAuth诞生前,Web安全方面的标准协议只有OpenID,不过它关注的是验证,即WHO的问题,而不是授权,即WHAT的问题。好在FlickrAuth和GoogleAuthSub等私有协议在授权方面做了不少有益的尝试,从而为OAuth的诞生奠定了基础。
- 2007-12 OAuth 1.0发布并迅速成为工业标准。
- 2008-06 OAuth 1.0 Revision A发布,这是个稍作修改的修订版本,主要修正一个安全方面的漏洞。
- 2010-04,OAuth 1.0 协议发布为 RFC 5849
- 2011-05 OAuth 2.0 草案发布
- 2012-10 OAuth 2.0 协议发布为 RFC 6749
OAuth学习总结的更多相关文章
- oauth学习
https://www.cnblogs.com/blowing00/p/4524132.html
- Spring boot --- Spring Oauth(一)
文章部分图片来自参考资料,这篇文章主要讲 spring security oauth 概述 上一篇我们学习了 SS 中重要的工作原理和几个大概的认证和授权过程.而 spring securit ...
- SpringBootSecurity学习(15)前后端分离版之 OAuth2.0简单示例
OAuth2.0 OAuth 引入了一个授权层,用来分离两种不同的角色:客户端和资源所有者.客户端来申请资源,资源所有者同意以后,资源服务器可以向客户端颁发令牌.客户端通过令牌,去请求数据.也就是说, ...
- IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习保护API
IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习之保护API. 使用IdentityServer4 来实现使用客户端凭据保护ASP.N ...
- OAuth 2.0学习笔记
文章目录 OAuth的作用就是让"客户端"安全可控地获取"用户"的授权,与"服务商提供商"进行互动. OAuth在"客户端&quo ...
- Oauth的学习以及开发自助上课签到脚本
附上源码: https://github.com/taka250/auto_checkin_skl_hdu 首先了解学习oauth的知识 ...
- oAuth协议学习
我们的项目需要为一个认证网站开发一套API,这些API可以提供给很多公司来调用,但是公司在调用之前,必须先做授权认证,由此接触到了oAuth协议. 以下内容来自网络整理 定义 OAUTH协议为用户资源 ...
- OAuth 2.0介绍学习
OAuth2.0是OAuth协议的下一版本,但不向后兼容OAuth 1.0即完全废止了OAuth1.0. OAuth 2.0关注客户端开发者的简易性.要么通过组织在资源拥有者和HTTP服务商之间的被批 ...
- 学习Spring Security OAuth认证(一)-授权码模式
一.环境 spring boot+spring security+idea+maven+mybatis 主要是spring security 二.依赖 <dependency> <g ...
随机推荐
- BZOJ4552 - [TJOI2016]排序
Portal Description 给出一个\(1..n(n\leq10^5)\)的排列,进行\(m(m\leq10^5)\)次操作: 升序排列\([L,R]\)中的数. 降序排列\([L,R]\) ...
- [CodePlus2017]晨跑
Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 166 Solved: 125 Description "无体育,不清华".&qu ...
- linux下rename用法--批量重命名 转
原文地址:https://www.cnblogs.com/hester/p/5615871.html Linux的rename 命令有两个版本,一个是C语言版本的,一个是Perl语言版本的,早期的Li ...
- Javascript 检查字符串是否是数字的几种方法
//判断是否是正整数 function IsNum(s) { if(s!=null){ var r,re; re = /\d*/i; //\d表示数字,*表示匹配多个数字 r = s.match(re ...
- mySQL windows 服务
https://www.jizhuba.com/kejiyouxi/20171001/6006.html
- Treasure Hunt--poj1066(最短路加判断线段的关系)
http://poj.org/problem?id=1066 题目大意:有n条线段 他们都在这个房间里 最后有一个点代表起始位置 现在想通过墙出去 他只能爆破每个房间的中点的门 问最少的门通 ...
- Substrings--poj1226(字符串)
Description You are given a number of case-sensitive strings of alphabetic characters, find the larg ...
- cef3的各个接口你知道几个
CEF3基本的框架包含C/C++程 序接口,通过本地库的接口来实现,而这个库则会隔离宿主程序和 Chromium&Webkit的操作细节.它在浏览器控件和宿主程序之间提供紧密的整合,它支持用户 ...
- Linux面试题完整修订附加答案
册一: 1.Linux挂载Winodws共享文件夹 第一步:先在Windows上创建一个共享目录 Windows系统IP是172.16.18.56;共享文件夹:E:\test ...
- android事件分发(二)
非常早之前写过一篇android事件分发的博客,主要写的是它是怎样分发的,具体非常多原理的东西都没有涉及到.今天就从源代码看android怎样控制它的分发机制. 鉴于手机屏幕的限制,所以android ...