BasicAuth和OAuth
参考资料
百度百科BasicAuth
维基百科OAuth
BasicAuth基本授权
BasicAuth又叫HttpAuth,它非常简单。例如你访问一个页面时,会弹出用户名密码框
它的优点是:简单,只要维护好用户名密码的安全性即可
访问使用BasicAuth的页面时,可以很简单的填写用户名和密码。许多开源HTTP请求库都提供BasicAuth的接口。
下面以Python中的requests库为例:
requests.get("http://usrname:password@www.baidu.com")
requests.get("http://www.baidu.com",auth=("usrname","password"))
OAuth:授权方式的开放标准
主要用途:一些拥有API资源的大户(比如微信、百度语音等),跟普通用户分享资源就通过OAuth。
OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。同时,任何第三方都可以使用OAUTH认证服务,任何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP、JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间,因而OAUTH是简易的。互联网很多服务如Open API,很多大公司如Google,Yahoo,Microsoft等都提供了OAUTH认证服务,这些都足以说明OAUTH标准逐渐成为开放资源授权的标准。
OAuth有1.0和2.0两个版本,下面讲1.0
OAuth 1.0原理:
OAuth1.0认证流程:
- 第一步:网站向认证平台请求一个未授权的Token,这个Request Token Url是前面说的第一个Url;
- 第二步:跳转至用户授权页面,提示用户进行登录,并进行授权,返回获得已授权的Token,用到的User Authorization Url是前面说的第二个Url;
- 第三步:通过已授权的Token,向认证平台请求Access Token(数据令牌),用到的Request Access Url是前面说的第三个Url,返回后到这步整个认证流程就结束了,最后一步,是通过数据令牌等参数,调用接口获取用户信息,不完全算认证的流程。
可能是最具破坏性的OAuth安全故障是网络钓鱼漏洞:使用OAuth每个网站在视觉上(但不是技术上的)要求最终用户提供他们自己的主人身份,以防止普通用户理解,他们不应该键入的用户名和密码那些在他们遇到的攻击者的网站,在视觉上模拟这个过程窃取凭据。双因素身份验证不能防止这种攻击,因为网络钓鱼站点也可以窃取(并立即使用)。
转载于:https://www.cnblogs.com/weiyinfu/p/6569266.html
BasicAuth和OAuth相关推荐
- 通过输入方式在Android上进行微博OAuth登录
在微博认证方式里,基本的OAuth认证是必须要调整到跳转到第三方页面上进行授权的,例如下面的例子: 1.从http://open.weibo.com/wiki/index.php/SDK#Androi ...
- OAuth 2.0攻击面与案例总结
本文整理了OAuth 2.0的攻击面+实际案例+辅助测试代码. OAuth流程 本文以两种广泛使用的方案为标准展开..如对流程不了解,请先移步学习: 理解OAuth 2.0 Authorization ...
- OAuth认证协议原理分析及使用方法
twitter或豆瓣用户一定会发现,有时候,在别的网站,点登录后转到 twitter登录,之后转回原网站,你会发现你已经登录此网站了, 这种网站就是这个效果.其实这都是拜 OAuth所赐. OAuth ...
- shiro整合oauth
前言 如果oauth原理还不清楚的地方,其参考这里. 一.基本思路脑图 二.客户端shiro配置 shiro配置文件 <?xml version="1.0" encodin ...
- 不要用JWT替代session管理(上):全面了解Token,JWT,OAuth,SAML,SSO
通常为了弄清楚一个概念,我们需要掌握十个概念.在判断 JWT (Json Web Token) 是否能代替 session 管理之前,我们要了解什么是 token,以及 access token 和 ...
- 简述 OAuth 2.0 的运作流程
本文将以用户使用 github 登录网站留言为例,简述 OAuth 2.0 的运作流程. 假如我有一个网站,你是我网站上的访客,看了文章想留言表示「朕已阅」,留言时发现有这个网站的帐号才能够留言,此时 ...
- OAuth 2 实现单点登录,通俗易懂!
[文章来源]https://sourl.cn/hMw7yT 单点登录是多域名企业站点流行的登录方式.本文以现实生活场景辅助理解,力争彻底理清 OAuth2.0 实现单点登录的原理流程.同时总结了权限控 ...
- Spring boot、微服务、OAuth、OpenID的爱恨情仇!
在本文中,我们学习如何使用Spring boot轻松配置和部署微服务,然后使用OAuth和OpenID保护它们. 在微服务体系架构中,其中较大的应用程序由多个较小的服务组成,每个服务都有自己的目标,它 ...
- java oauth sso 源码_基于Spring Security Oauth2的SSO单点登录+JWT权限控制实践
概 述 在前文<基于Spring Security和 JWT的权限系统设计>之中已经讨论过基于 Spring Security和 JWT的权限系统用法和实践,本文则进一步实践一下基于 Sp ...
最新文章
- WebGoat教程学习(三)--Ajax安全
- 网易NAPM Andorid SDK实现原理--转
- linux shell less 命令---转
- 多线程之线程池的应用
- gradient 渐变
- 关于js渲染网页时爬取数据的思路和全过程(附源码)
- 老年痴呆与LDL-C 低密度脂蛋白
- h5输出文字write_免费下载:Write是用于手写的文字处理器
- 计算机能力提升研修总结ppt,信息技术能力提升研修总结
- python word自动化_python操作word,自动化办公
- python if elif else用法_python----if -- elif -- else 用法
- 栈(后缀表达式的理想数据结构)
- Linux内核中的PID散列表实例
- win10无法装载iso文件_iso镜像安装失败无法安装Windows10解决教程
- 让微信保持高度活跃的利器
- 新建 FrameMaker API 时引用目录的设置
- 数据结构 三:树(Tree)
- DNA转换为C语言,DNA (C语言代码)
- 【Android每周专题】触摸屏手势
- c语言移位函数intrins,单片机C语言实现NOP 循环移位
热门文章
- pure CSS3 triangle icon
- 源码-0105-Autoresizing
- cocos2dx对于强大的RichText控制
- 如何在Delphi 中调用C#生成的DLL类库
- [C# 3.0 入门] [第一章 Lambda表达式] 第三节:Lambda与匿名方法的区别(日文翻译)...
- 【南邮操作系统实验】页面置换算法(FIFO、LRU、OPT) Python 版
- 【Zepto笔记】Zepto.js
- springboot配置文件application.properties参阅文章
- DBSCAN聚类算法初探(五)
- 离职潮来袭,但为什么HR还是很难招到人?