什么是鉴权?一篇文章带你了解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处理,所有接口都能请求成功 。

 

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

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

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

  • 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

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/109778.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL(3):基本的 SELECT 语句

SQL 语言 SQL(Structured Query Language,结构化查询语言)是使用关系模型的数据库应用语言, 与数据直接打交道 。 SQL 有两个重要的标准,分别是 SQL92 和 SQL99,它们分别代表了 92 年和 99 年颁布的 SQL 标…

一体化模型图像去雨+图像去噪+图像去模糊(图像处理-图像复原-代码+部署运行教程)

本文主要讲述了一体化模型进行去噪、去雨、去模糊,也就是说,一个模型就可以完成上述三个任务。实现了良好的图像复原功能! 先来看一下美女复原.jpg 具体的: 在图像恢复任务中,需要在恢复图像的过程中保持空间细节…

windows应用软件扫描报告 不告谱 要钱

chatGPT开路,帮找。 当你想要查找Windows软件的漏洞而不涉及查看源代码时,你可以使用一些专门设计用于扫描漏洞的工具。这些工具通常会检查已安装的软件和操作系统的漏洞,并提供建议或修补程序。以下是一些可以用于查找Windows软件漏洞的工具…

SQL优化(慢查询优化方法)正确使用数据库索引

文章目录 (一) 建立索引的正确姿势1 )索引不要包含选择性过低字段2) 选择性高的字段前置或者单独建立索引3)尽量使用覆盖索引 (二) 使用索引的正确姿势1) 最左匹配截断2) 隐式转换3) in order by 导致排序失…

R2R 的一些小tip

批次间控制器(Run-to-run Controller),以应对高混合生产的挑战。将最优配方参数与各种工业特征相关联的模型是根据历史数据离线训练的。预测的最优配方参数在线用于调整工艺条件。 批次控制(R2R control)是一种先进的工艺控制技术,可在运行(如批次或晶圆…

Matlab | 基于二次谱提取地震数据的地震子波

本文通过地震数据二次谱求取地震子波谱,具体方法如下: MATLAB代码实现如下: function w SndSpecExtWavelet(x, M) % 功能:基于二次谱提取输入地震数据data的地震子波wavelet % Extracting Wavelet from Input Seismic Dat…

Flutter 使用 GetX 中遇到的问题

创建了控制器,但是在别的页面中,无法引用控制器里面的某些变量 如下图:后来发现,是命名的问题, 如果是以 _ 下划线开头的变量,那么就无法被引用

测开(性能测试---LoadRunner)

目录 一、LoadRunner的安装 二、Loadrunner的基本概念 三、开发测试脚本——VUG 3.1 脚本录制 3.2 脚本加强 四、设计场景——Controller LoadRunner是一款开源桌面应用软件,可用来模拟用户负载完成性能测试工作,LoadRunner的功能在版本不断升级的…

SDP协议分析

目录 SDP的结构SDP语法必需字段可选字段字段顺序子字段 3.SDP例子 1. SDP的结构 SDP(Session Description Protocol)完全是⼀种会话描述格式,它不属于传输协议,它只使⽤于适当的传输协议,包括会话通知协议&#xf…

ERROR: There can be only one Game target per project.

UATHelper: Packaging (Windows (64-bit)): ERROR: There can be only one Game target per project. D:\dock\Intermediate\Source 把旧的文件删去 一般会出现在更改项目名称后 感谢 There can be only one Game target per project - Development Discussion / Content C…

关于Spring和SpringBoot中对配置文件的读取

Spring读取xml文件 具体流程见网址Spring源码分析2 — spring XML配置文件的解析流程 - 知乎 (zhihu.com) 我这里只做一下总结和自己的理解: (1)通过getConfigLocations方法, 从web.xml文件中读取配置文件地址,如果web.xml中读取…

使用 jdbc 技术升级水果库存系统(后端最终版本,不包含前端)

1、配置依赖 <dependencies><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.10</version></dependency><dependency><groupId>junit</groupId><…

智能工厂解决方案

智能工厂解决方案&#xff1a;生产工单 智能工厂解决方案&#xff1a;物流中转 样品单-4.2寸 工单任务卡-4.2寸 工单流转卡-4.2寸 生产配送卡-4.2寸 工序参数卡-7.5寸 生产拣配单-7.5寸 仓库24代-参数 接收路由器发送的数据信息并解析&#xff0c;做出相应的指示&#…

图片去除水印文字怎么去除?这几个方法快来收藏

图片怎么去除水印文字&#xff1f;现在嘛&#xff0c;图片已经成了我们生活和工作里必不可少的一部分&#xff0c;可是有时候看图的时候&#xff0c;总会碰到一些带水印的图片&#xff0c;这些水印总是搞得图片看起来不那么爽&#xff0c;所以很多人都想知道图片怎么去除水印文…

如何改善设备综合效率(OEE)并提高工厂的生产力

在现代制造业中&#xff0c;提高设备综合效率&#xff08;Overall Equipment Efficiency&#xff0c;OEE&#xff09;是企业追求高效生产和优化生产能力的重要目标之一。OEE是一个关键的绩效指标&#xff0c;可以帮助企业评估设备的利用效率、生产效率和质量水平。本文将从三个…

[UDS] --- RoutineCommunicationControl 0x31

1 0x31功能描述 client端使用RoutineControl服务执行定义的步骤序列并获取任何相关结果。该服务具有很大的灵活性&#xff0c;典型的用法包括擦除内存&#xff0c;复位或学习自适应数据&#xff0c;运行自检&#xff0c;覆盖正常服务器控制策略以及控制服务器值随时间变化等功…

基于springboot实现校园疫情防控系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现校园疫情防控系统演示 摘要 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&am…

LabVIEW背景颜色设为和其他程序或图像中一样

LabVIEW背景颜色设为和其他程序或图像中一样 有时候LabVIEW背景色要和其他程序或者图片的颜色保持一致&#xff0c;如果要求不高可以大致设置一下。如果要求较高&#xff0c;那可以按照如下的方式。 先用PS打开标准图像&#xff0c;之后用吸管工具选择图像上中的点&#xff0…

leetcode经典面试150题---3.删除有序数组中的重复项

目录 题目描述 前置知识 代码 方法一 双指针 思路 图解 实现 复杂度 题目描述 给你一个 非严格递增排列 的数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使每个元素 只出现一次 &#xff0c;返回删除后数组的新长度。元素的 相对顺序 应该保持 一致…

用友 GRP-U8 存在sql注入漏洞复现

0x01 漏洞介绍 用友 GRP-U8 license_check.jsp 存在sql注入&#xff0c;攻击者可利用该漏洞执行任意SQL语句&#xff0c;如查询数据、下载数据、写入webshell、执行系统命令以及绕过登录限制等。 fofa&#xff1a;app”用友-GRP-U8” 0x02 POC: /u8qx/license_check.jsp?kj…