Basic Auth 和 OAuth的区别
开放平台有两种认证方式,一种是Basic Auth,一种是OAuth。
关于OAuth1,OAuth2的异同 移步->> https://blog.csdn.net/qq_15028299/article/details/89028851
1、Basic Auth(HTTP Auth)
Basic Auth简单点说明就是每次请求API时都提供用户的username和password。【base64encode(username+":"+password)】
。这种方式优点和缺点都很明显。
优点:
u 使用非常简单,
u 开发和调试工作简单,
u 没有复杂的页面跳转逻辑和交互过程;
u 更利于发起方控制;
缺点:
u 安全性低,每次都需要传递用户名和密码,用户名和密码很大程度上存在被监听盗取的可能;
u 同时应用本地还需要保存用户名和密码,在应用本身的安全性来说,也存在很大问题;
u 开放平台服务商出于自身安全性的考虑(第三方可以得到该服务商用户的账号密码,对于服务商来说是一种安全隐患),未来也会限制此认证方式(Twitter就计划在6月份停止Basic Auth的支持)
u 用户如果更改了用户名和密码,还需要重新进行密码校验的过程。
2、OAuth
OAuth为用户资源的授权提供了一个安全、开放的标准,将会是以后开发平台普遍遵守的,目前Twitter、Sina微博、豆瓣、Google等都提供对它的支持。它分为几个交互过程:
1)应用用APP KEY和APP SECRET换取OAuth_token;
2)应用将用户引导到服务商的页面对该OAuth_token进行授权(可能需要输入用户名和密码);
3)服务商的页面跳转回应用,应用再根据参数去服务商获得Access Token;
4)使用这个Access Token就可以访问API了。
上述过程如下图所示:
OAuth认证过程
OAuth的优点:
u 安全性高,用户的账户和密码只需要提供一次,而且是在服务商的页面上提供,防止了Basic Auth反复传输密码带来的安全隐患;
u Access Token访问权限仅限于应用,被窃取不会影响用户在该服务商的其他服务;
u Access Token即使被监听丢失了随时可以撤销,不像密码丢失可能就被别人篡改了;
u 用户修改了密码也不会影响该应用的正常使用。
OAuth和Basic Auth两种方式的区别, OAuth是一种比较通用的,安全的认证方式,不需要用户名密码,只需要用户授权;basic auth是一种基于用户名密码的认证,每次访问都需带上用户的用户名密码。
Basic Auth 和 OAuth的区别相关推荐
- Nginx配置Basic Auth登录认证的实现方法
这篇文章主要介绍了Nginx配置Basic Auth登录认证的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 有时候我们通过nginx搭建了一台文件服务器, 一般 ...
- 配置kubernetes服务basic auth
由于一些内部服务访问并不需要鉴权,如kubernetes-dashboard.traefik-ui,所以当我们想通过外网域名访问的时候会有安全问题.这里我们可以为服务配置basic auth,访问时需 ...
- nginx basic auth配置踩坑记
nginx的basic auth配置由ngx_http_auth_basic_module模块提供,对HTTP Basic Authentication协议进行了支持,用户可通过该配置设置用户名和密码 ...
- Nginx下配置Http Basic Auth
nginx basic auth指令 第一条语句: 语法: auth_basic string | off; 默认值: auth_basic off; 配置段: http ...
- 微信小程序中通过Basic Auth传递token
npm导入用于Base64加密的工具包js-base64 // package.js "dependencies": {"js-base64": "^ ...
- 【HTTP】HTTP Authorization 之 Basic Auth 和 X-Auth-Token
Basic Authorization 认证方法 https://segmentfault.com/a/1190000017563615 HTTP Basic Authorization https: ...
- 用 PHP 进行 HTTP 认证,Basic Auth
实现基本的简单Basic Auth认证. php手册 可以用 header() 函数来向客户端浏览器发送"Authentication Required"信息,使其弹出一个用户名/ ...
- 基于 Traefik 的 Basic Auth 配置
前言 Traefik是一个现代的HTTP反向代理和负载均衡器,使部署微服务变得容易. Traefik可以与现有的多种基础设施组件(Docker.Swarm模式.Kubernetes.Marathon. ...
- Rest Api 项目添加 Basic Auth 认证
title: Rest Api 项目添加 Basic Auth 认证 date: 2022-10-10 22:09 tags: [Java,Spring Boot,Rest Api,Basic Aut ...
最新文章
- Asp.Net下通过切换CSS换皮肤
- 美国计算机科学厉害的大学,求推荐美国综合排名40~70间计算机科学较好的大学...
- gparted 不能起作用的时候,用fdisk
- PageRanke算法
- 2018-08-01-weekly
- superset出现A valid API access token is required to use Mapbox data
- 【Python生成器与迭代器的区别】
- WebSocket介绍和Socket的区别
- 使用 做签名的post_腾讯IMWeb团队是如何使用 NodeJS 实现 JWT 原理
- A Zero Flow Entry Expiration Timeout P4 Switch
- jfreechart环形图完美实现
- winform仿QQ聊天气泡(c#代码+GDI绘图)
- servlet笔试题java,Java推荐!Servlet面试题和答案汇集
- 买哪个股票稳赚,三类股票,可以买了
- weblogic安装部署
- 【博士论文】深度学习的对抗攻击与鲁棒性测评
- xlsx表格怎么筛选重复数据_excel表格如何过滤筛选重复项内容
- 百度地图转换腾讯地图 php,用PHP实现腾讯地图和百度地图的相互转换范例
- IMT和北京大学微纳电子学研究院持续开展战略合作,三位优秀学生获2017年度MEMS专项奖学金
- java描述空间直线_java实验作业类的定义与描述