目录

一、什么是鉴权?

二、postman鉴权方式


一、什么是鉴权?

鉴权也就是身份认证,就是验证您是否有权限从服务器访问或操作相关数据。发送请求时,通常必须包含相应的检验参数以确保请求具有访问权限并返回所需数据。通俗的讲就是一个门禁,您想要进入室内,必须通过门禁验证身份,这就是鉴权,如打开一个网站必须要输入用户名和密码才可以登录进入,这种就是鉴权,还有一些业务需要登录以后才可以进行,因为需要token值,则就可以把token添加到鉴权中,这种也是鉴权。

二、postman鉴权方式

postman 支持多种鉴权方式,如图

Inherit auth from parent:从父级继承身份验证,是每个请求的默认选择 。这是一个很有用的功能,当我们对一个集合(collection)进行测试的时候,集合中的每个请求都需要获取token,那么如果我们在集合的根目录把token获取到的话,那么该集合下的所有请求就会自动获取到token,无需任何处理(因为每个请求的Authorization默认选项就是Inherit auto from parent),也就省略了我们对每个token进行处理了

实现步骤:

  1. 选中一个集合进行编辑,切换到Pre-Request Script.在这里请求登录接口 ,将返回的token值拿到,然后保存成全局变量 。
  2. 切换到Authorization选项卡,在这里直接获取token 。这里的获取token需要根据具体的项目 。比如我们所测试的项目正好是Bearer token这种形式 。直接在列表中使用这种方式输入{{token}}即可。
  3. 向集合添加请求,无需进行token处理,所有接口都能请求成功 。

  • No Auth:表示不需要身份认证
  • API key:也有很多系统是通过这种认证方式,更多的是系统自定义的认证方式,比如在请求头添加 model: data xxx-xxx-xxx-xxxx

  • Bearer Token :承载令牌,一般也叫 Json web token,就是发送一个 json 格式的 token 令牌,服务端会针对 token 进行解密验证,令牌是文本字符串,包含在请求标头中。在请求授权选项卡中,从类型下拉列表中选择承载令牌。在“ 令牌”字段中,输入您的API密钥值,或者为了增加安全性,将其存储在变量中并按名称引用该变量。如下图

postman会将令牌值以要求的格式附加到请求header的文本“ Bearer”上,如下所示:

  • Basic Auth:基础验证,提供用户名密码验证,postman 会自动生成 authorization,属于最常用鉴权方式,如图:在请求授权选项卡中,从类型下拉列表中选择基本身份验证,在“ 用户名”和“ 密码”字段中输入您的API登录详细信息-为了提高安全性,您可以将其存储在变量中,如图:

在请求标头中,您将看到正在向Authorization标头传递一个表示您的用户名和密码值的Base64编码的字符串,该字符串附加到文本“ Basic”中,如下图所示

  • Digest Auth:摘要式认证。在基本身份认证上面扩展了安全性,服务器为每一个连接生成一个唯一的随机数,客户端用这个随机数对密码进行 MD5 加密,然后返回服务器,服务器也用这个随机数对密码进行加密,然后和客户端传送过来的加密数据进行比较,如果一致就返回结果,他是一个二次验证过程,会有两次认证交互消息,客户端请求资源->服务器返回认证标示->客户端发送认证信息->服务器查验认证,如下图示:

Digest Auth下面的高级字段是可选的,postman会在请求运行时自动填充它们。

  • OAuth:一般用于第三方身份认证,在不公开密码的情况下客户端应用程序可以访问第三方API提供的数据,有1,2两个版本,需要提供的信息不太一样。也是常用的鉴权方式,如下图

OAuth1.0:输入必填参数 消费者密钥、消费者密钥值,访问令牌和令牌密钥值。Postman会尝试自动完成高级参数填充,当前你也可以自己填写

然后可以在左侧的Add authorization data to的下拉列表中选择在请求头、URL还是请求体中传递身份验证详细信息,这个身份验证信息数据在哪里传递取决与请求类型,一般post或put请求就是添加到body里面,如果是get请求就会添加到URL里面

 OAuth2.0:也可以在左侧的Add authorization data to的下拉列表中选择在请求头还是URL中传递身份验证详细信息

然后在Configure New Token里面配置相关信息得到新令牌,需要输入客户端应用程序的详细信息,以及服务提供商提供的所有身份验证详细信息

请求新访问令牌的参数是根据Grant Type类型来的:Grant Type类型如下

请求新访问令牌的参数的完整列表如下:

1)令牌名称:您要用于令牌的名称。

2)授予类型:选项的下拉列表-这将取决于API服务提供商的要求。

3)回调URL:身份验证后重定向到的客户端应用程序回调URL,应在API提供程序中注册。如果未提供,Postman将使用默认的空URL并尝试从中提取代码或访问令牌-如果此方法不适用于您的API,则可以使用以下URL:https://www.getpostman.com/oauth2/callback

4)身份验证URL: API提供程序授权服务器的端点,用于检索身份验证代码。

5)访问令牌URL:提供商的身份验证服务器,用于交换访问令牌的授权代码。

6)客户端ID:您在API提供商处注册的客户端应用程序的ID。

7)客户端机密: API提供商提供给您的客户端机密。

8)范围:您所请求的访问范围,其中可能包含多个以空格分隔的值。

9)状态:不透明的值,以防止跨站点请求伪造。

10)客户端身份验证:一个下拉列表-在标头中发送基本身份验证请求,或在请求正文中发送客户端凭据。升级到新版本后,请更改此下拉菜单中的值,以避免客户端身份验证出现问题。

配置完成后,点击Get New Access Token按钮。如果您成功从API接收到令牌,则可以看到其详细信息、到期时间以及可选的刷新令牌,当当前令牌过期时,您可以使用该令牌来获取新的访问令牌。单击“ Use Token”以选择返回的值。

所有成功获取到的令牌都将在请求“ Available Tokens”下拉列表中列出。选择一个用来发送您的请求。在下拉列表中可以管理所有令牌,如查看详细信息或删除令牌。

  • Hawk Authentication:是另一种认证方案,采用的叫消息码认证算法,和 Digest 认证类似,它也是需要二次交互的

Hawk身份验证参数如下:

1)Hawk身份验证ID:您的API身份验证ID值。

2)Hawk身份验证密钥:您的API身份验证密钥值。

3)算法:用于创建消息认证码(MAC)的哈希算法。

高级参数:

1)用户:用户名。

2)Nonce:客户端生成的随机字符串。

3)ext:与请求一起发送的任何特定于应用程序的信息。

4)app:凭据与应用程序之间的绑定,以防止攻击者使用发布给他人的凭据。

5)dlg:颁发证书的应用程序的ID。

6)时间戳:服务器用来防止在时间窗口之外进行重放攻击的时间戳。

  • AWS Signature:是针对亚马逊的 AWS 公有云用户签名的认证方式
  • NTLM:是微软的局域网管理认证协议
  • Akamai EdgeGrid:是 Akamai 的专属认证协议

最常用的两种鉴权方式为:Basic 以及 OAuth2

什么是鉴权?一篇文章带你了解postman的多种方式相关推荐

  1. 一篇文章带你详解 HTTP 协议

    一篇文章带你详解 HTTP 协议 本篇文章篇幅比较长,先来个思维导图预览一下. 一张图带你看完本篇文章 一.概述 1.计算机网络体系结构分层 计算机网络体系结构分层 2.TCP/IP 通信传输流 利用 ...

  2. 简书大佬的笔记:一篇文章带你详解 HTTP 协议(网络协议篇一)

    一篇文章带你详解 HTTP 协议(网络协议篇一) 本篇文章篇幅比较长,先来个思维导图预览一下. 一张图带你看完本篇文章 一.概述 1.计算机网络体系结构分层 计算机网络体系结构分层 2.TCP/IP ...

  3. 一篇文章带你了解Flannel

    from: http://dockone.io/article/618 DockOne技术分享(十八):一篇文章带你了解Flannel [编者的话]Flannel是 CoreOS 团队针对 Kuber ...

  4. 一篇文章带你详解 TCP/IP 协议(下)

    前面的第一二三章已在上篇讲解,还没看过的可以先看看:一篇文章带你详解 TCP/IP 协议(上) 本文继续讲解第四章. 四.网络层中的 IP 协议 IP(IPv4.IPv6)相当于 OSI 参考模型中的 ...

  5. 一篇文章带你详解 HTTP 协议(下)

    文章目录,方便阅读: 一.概述(已讲) 二.HTTP 工作过程(已讲) 三.HTTP 协议基础(已讲) 四.HTTP 协议报文结构(已讲) 五.HTTP 报文首部之请求行.状态行(已讲) 六.HTTP ...

  6. 一篇文章带你快速理解JVM运行时数据区 、程序计数器详解 (手画详图)值得收藏!!!

    受多种情况的影响,又开始看JVM 方面的知识. 1.Java 实在过于内卷,没法不往深了学. 2.面试题问的多,被迫学习. 3.纯粹的好奇. 很喜欢一句话:"八小时内谋生活,八小时外谋发展. ...

  7. java 不重启部署_一篇文章带你搞定SpringBoot不重启项目实现修改静态资源

    一.通过配置文件控制静态资源的热部署 在配置文件 application.properties 中添加: #表示从这个默认不触发重启的目录中除去static目录 spring.devtools.res ...

  8. 一篇文章带你熟悉 TCP/IP 协议(网络协议篇二)

    涤生_Woo 2017年11月11日阅读 15544 关注 一篇文章带你熟悉 TCP/IP 协议(网络协议篇二) 同样的,本文篇幅也比较长,先来一张思维导图,带大家过一遍. 一图看完本文 一. 计算机 ...

  9. 一篇文章带你领悟 Frida 的精髓(基于安卓8.1)

    转载(一篇文章带你领悟Frida的精髓(基于安卓8.1)):https://www.freebuf.com/articles/system/190565.html <Frida操作手册>: ...

最新文章

  1. JavaScript中this关键字使用方法详解
  2. Serverless 解惑——函数计算如何访问 SQL Server 数据库
  3. MySQL 深入学习总结
  4. Android之开发中用到的几个多线程解析
  5. 【转载保存】HtmlUnit的使用
  6. Django复习:视图和模版
  7. 彻底搞定char/wchar_t/unicode
  8. 改变TMQQ2009版消息提示音
  9. JavaScript编程用法——JavaScript运行环境
  10. 软件项目需求调研报告模板下载_软件项目需求分析报告模板
  11. 西部数据移动硬盘哪个型号好_西部数据移动硬盘怎么样(西数移动硬盘系列区别)...
  12. centeros 卸载mysql_如何卸载数据库centeros
  13. 一般线性规划求最大值
  14. 论文查找: arXiv,论文阅读:知云文献翻译, 完美组合 !
  15. 小米note2鸿蒙ROM,小米最新刷机包rom下载_奇兔rom市场
  16. html div图片拉伸,使图像完全填充div而无需拉伸
  17. SemanticKITTI点云拼接+PCL可视化
  18. Android 必须知道2018年流行的框架库及开发语言,看这一篇就够了!
  19. BigBrother的大数据之旅 Day 4 Linux(4)
  20. 一意孤行亚马逊----一个钓鱼疯子的巴西亚马逊之行( 12.九月 28日 在营地的最后一天 ) 作者:咸水鱼...

热门文章

  1. 六级(2020/12-1) Section B
  2. 移动端页面一键保存到桌面
  3. 用python画名字组成的爱心_520用Python画一颗特别的爱心送给她
  4. Themida 1.8.X 脱壳之泡泡堂不死外挂3.16
  5. SVN-查看两版本区别
  6. html5 video自动播放下一个源码
  7. 某校2018专硕编程题-方阵求和
  8. span内一连串英文字符不会自动换行
  9. 计算机无法与硬盘,无法识别的硬盘原因和解决方法[详细]
  10. 1030: 判断直角三角形Python