postman 认证使用篇(五)

Authorization

尽管请求编辑器已经足够强大去构造各种各样的请求,但是有的时候你的请求可能是需要认证,那么就可以尝试使用下面的认证功能了(由于认证的参数信息属于敏感数据,为了保证在协作环境中工作时数据的安全,建议使用变量)

下面分别说明下拉选项中的认证方式:

No Auth

不需要认证,这是默认选中的

Bearer Auth

填写Token进行验证,JWT中有使用

Basic Auth 基础身份验证

输入用户名和密码,直接发送明文数据,在点击Preview Request按钮就会自动在Headers中生成authorization header.

或者直接发送请求,也会自动把authorizationheader 添加到 Headers 中

Digest Auth 摘要认证

消息摘要式身份认证是在基本身份认证上面扩展了安全性,服务器为每一个连接生成一个唯一的随机数,客户端用这个随机数对密码进行MD5加密,然后返回服务器,服务器也用这个随机数对密码进行加密,然后和客户端传送过来的加密数据进行比较,如果一致就返回结果

客户端请求资源->服务器返回认证标示->客户端发送认证信息->服务器查验认证

过程:

发送一个请求

GET /auth/basic/ HTTP/1.1

HOST: target

服务器返回401响应头,要求输入用户凭据

HTTP/1.1 401 Unauthorized

WWW-Authenticate: Digest realm="Digest Encrypt",nonce="nmeEHKLeBAA=aa6ac7ab3cae8f1b73b04e1e3048179777a174b3", opaque="0000000000000000",stale=false, algorithm=MD5, qop="auth"

输入凭据后再发送请求

GET /auth/digest/ HTTP/1.1

Accept: */*

Authorization: Digest username="LengWa", realm="Digest Encrypt", qop="auth", algorithm="MD5", uri="/auth/digest/", nonce="nmeEHKLeBAA=aa6ac7ab3cae8f1b73b04e1e3048179777a174b3", nc=00000001, cnonce="6092d3a53e37bb44b3a6e0159974108b", opaque="0000000000000000", response="652b2f336aeb085d8dd9d887848c3314"

服务端验证通过后返回数据

返回401请求头时,对于WWW-Authenticate 各个域的作用:

realm: 是一个简单的字符串,一般是是邮件格式

qop: 是认证的(校验)方式,这个比较重要,对后面md5的加密过程有影响

nonce: 是一个字符串,唯一的、不重复的(还可以包含一些有用的信息,进行验证)

opaque: 是个字符串,它只是透传而已,即客户端还会原样返回过来

username: 用户认证的用户名

uri: 本次资源的位置

cnonce: 客户端随机参数的GUID

nc: 是认证的次数,因为如果认证失败,则仍然可以重新发送认证信息继续认证

response: 这个值很重要,是根据以上信息加上密码根据一定的顺序加密生成的MD5值,服务端在收到这个信息后,也根据相同的方式计算出这个值,而密码保存在服务端。服务端根据用户名去找密码,计算出MD5值,如果和客户端传过来一致,就认证通过,否则不通过

OAuth 1.0 / OAuth 2.0

现在大多数授权登录都是基于 OAuth 2.0

这两种认证方式,就不具体介绍了。网上讲解的比较多

不了解的可以看看这个文档:理解OAuth

Hawk authentication

hawk是一个HTTP认证方案,使用MAC(Message Authentication Code,消息认证码算法)算法,它提供了对请求进行部分加密验证的认证HTTP请求的方法,包括HTTP方法、请求URI和主机。

hawk方案要求提供一个共享对称密匙在服务器与客户端之间,通常这个共享的凭证在初始TLS保护阶段建立的,或者是从客户端和服务器都可用的其他一些共享机密信息中获得的

举例过程:

发起一个资源请求

GET /resource/1?b=1&a=2 HTTP/1.1

Host: 127.0.0.1:8000

服务器返回401响应头

HTTP/1.1 401 Unauthorized

WWW-Authenticate: Hawk

客户端之前已经获取一组Hawk访问资源的资格证书在对应的服务器上资格证书包含以下的属性:

Key identifier(Hawk Auth ID): dh37fgj492je

Key(Hawk Auth Key): werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn

Algorithm: hmac-sha-256

客户端通过计算时间戳来生成认证报头,并构造标准的请求字符串

1353832234

GET

/resource/1?b=1&a=2

127.0.0.1

8000

some-app-data

使用Hawk凭证中的Algorithm指定的加密算法加上Key(Hawk Auth Key)指定的key进行加密,之后把结果在经过bae64转码为/uYWR6W5vTbY3WKUAN6fa+7p1t+1Yl6hFxKeMLfR6kk=

客户单在发送请求,在Authorization头字段包括Key identifier(Hawk Auth ID)指定的id,时间戳,以及加密生成的MAC

GET /resource/1?b=1&a=2 HTTP/1.1

Host: 127.0.0.1:8000

Authorization: Hawk id="dh37fgj492je", ts="1353832234", ext="some-app-data", mac="/uYWR6W5vTbY3WKUAN6fa+7p1t+1Yl6hFxKeMLfR6kk="

服务端收到请求后再次按相同的算法计算出MAC,并验证Hawk凭证的有效性,如果验证通过就返回结果

这个认证的方式 npm中有包,里面有案例,可以查看一下hawk

AWS Signature

AWS的使用者可以使用自定义的HTTP方案基于HMAC的加密算法去认证

参考文档

[http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html](http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)

[http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-use-postman-to-call-api.html](http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-use-postman-to-call-api.html)

扫描关注,查看更多文章,提高编程能力

postman请求头加密_postman认证使用篇(五)相关推荐

  1. Postman请求头的使用

    1     Authorization:身份验证,主要用来填写用户名密码,以及一些验签字段,postman有一个helpers可以帮助我们简化一些重复和复杂的任务.当前的一套helpers可以帮助你解 ...

  2. chrome 请求带上cookie_【编号0002】请求头的内容,及其相关知识铺垫

    更新时间,来一篇关于请求头的内容介绍 首先,什么是请求头?这里指的是HTTP 1 版本中的请求信息的头部内容,注意,不含主体 0. 背景说明 客户端:你的浏览器 服务器:指的是网站服务器 请求:客户端 ...

  3. delphi 使用cef3谷歌浏览器内核加载带header请求头的网页

    上一篇博文介绍到用IE加载带Header请求头的网页,本篇介绍使用cef3实现同样的功能. 我使用的谷歌浏览器内核是49版,支持XP系统的最新版,所以,版本有够低的了. procedure TForm ...

  4. ASP.NET Core 自定义认证方式--请求头认证

    Intro 最近开始真正的实践了一些网关的东西,最近写几篇文章分享一下我的实践以及遇到的问题. 本文主要介绍网关后面的服务如何进行认证. 解决思路 网关可以做一部分的认证和授权,服务内部有时候也会需要 ...

  5. post入门篇:请求头/响应头、cookie、URL结构/编码、数据编码、winHttpRequest、post分析技巧、伪装IP

    目录 http URL URL编码 协议头 get请求头 post请求头.响应头 提交数据的类型(Content-Type) 编码 Base64编码 易语言处理302的包 cookie 浏览器是如何设 ...

  6. postman请求soap 请求_postman测试调用web service asmx

    大多数情况都是使用postman来测试调用Restful接口,但是有些老系统用web service写的接口还是不少见.最近我就遇到了,我们之前买的一个系统居然是.net 写的web service, ...

  7. HTTP响应头和请求头信息对照表(一篇全)

    HTTP Request Header 请求头 Header 解释 示例 Accept 指定客户端能够接收的内容类型 Accept: text/plain, text/html Accept-Char ...

  8. 【接口测试】【postman】postman通过脚本获取Token并自动加入请求头实现Token的参数化

    目录 一  需求背景 二  实现方案 方案1:URL获取Token并手动填写请求头 1.1  通过URL获取Token值 1.2  Headers请求头手动填写Token并发送请求 方案2:脚本获取T ...

  9. 使用请求头认证来测试需要授权的 API 接口

    使用请求头认证来测试需要授权的 API 接口 Intro 有一些需要认证授权的接口在写测试用例的时候一般会先获取一个 token,然后再去调用接口,其实这样做的话很不灵活,一方面是存在着一定的安全性问 ...

最新文章

  1. NTFS的交换数据流ADS应用
  2. oracle动态采样超时,解决 ORACLE 11.2 动态采样导致的性能问题
  3. UVA - 10934 Dropping water balloons(装满水的气球)(dp)
  4. hive 导入hdfs数据_将数据加载或导入运行在基于HDFS的数据湖之上的Hive表中的另一种方法。
  5. Python标准异常总结
  6. 天池 在线编程 删除字符(单调栈)
  7. How to manage the certificates in the PC
  8. 抖音发布女性数据报告:平均每天31.8万女性发布自拍视频又删除
  9. html css三类选择器,css三类选择器 用法 引用
  10. 《中国人工智能学会通讯》——12.44 分类型数据的定义
  11. 大数据开发笔记(十):Hbase实践
  12. java.util.List 的大小
  13. 举例说明在SQL中,DELETE语句与DROP TABLE的区别
  14. Apache Spark 黑名单(Blacklist)机制介绍
  15. 在Mac上Topaz Gigapixel AI作为Photoshop插件未显示在“文件”->“自动”中的解决方法
  16. python做3d相册_简单3D翻页相册制作教程(示例代码)
  17. aida64使用教程
  18. CentOS 7.6 安装 Sentaurus 2017.09 记录
  19. 发票识别OCR和发票扫描仪
  20. 第二章 存储器层次结构

热门文章

  1. 360 css grid,【第2210期】使用 CSS 创造艺术
  2. 【20200706】CISA考题练习
  3. 仿照google主页面布局html代码,超酷仿GOOGLE首页导航菜单效果
  4. 【电脑】QQ/TIM群投票页面打不开解决办法
  5. HTML+CSS+JS宠物商城网页设计期末课程大作业 web前端开发技术 web课程设计 网页规划与设计
  6. 2023 好物分享带货书单剪辑帮您做好短视频提高剪辑技巧
  7. html 评论和浏览图标,多说自定义CSS动感头像跟多说评论显示User Agent的那些小事...
  8. 日系车集体溃败新能源,不止中国市场!
  9. 腾讯云 WebShell 体验
  10. js工具函数之数字转为中文数字和大写金额