当前位置:网站首页>什么是鉴权?一篇文章带你了解postman的多种方式
什么是鉴权?一篇文章带你了解postman的多种方式
2022-08-03 17:35:00 【软测小西瓜】
目录
一、什么是鉴权?
鉴权也就是身份认证,就是验证您是否有权限从服务器访问或操作相关数据。发送请求时,通常必须包含相应的检验参数以确保请求具有访问权限并返回所需数据。通俗的讲就是一个门禁,您想要进入室内,必须通过门禁验证身份,这就是鉴权,如打开一个网站必须要输入用户名和密码才可以登录进入,这种就是鉴权,还有一些业务需要登录以后才可以进行,因为需要token值,则就可以把token添加到鉴权中,这种也是鉴权。
二、postman鉴权方式
postman 支持多种鉴权方式,如图
Inherit auth from parent:从父级继承身份验证,是每个请求的默认选择 。这是一个很有用的功能,当我们对一个集合(collection)进行测试的时候,集合中的每个请求都需要获取token,那么如果我们在集合的根目录把token获取到的话,那么该集合下的所有请求就会自动获取到token,无需任何处理(因为每个请求的Authorization默认选项就是Inherit auto from parent),也就省略了我们对每个token进行处理了
实现步骤:
- 选中一个集合进行编辑,切换到Pre-Request Script.在这里请求登录接口 ,将返回的token值拿到,然后保存成全局变量 。
- 切换到Authorization选项卡,在这里直接获取token 。这里的获取token需要根据具体的项目 。比如我们所测试的项目正好是Bearer token这种形式 。直接在列表中使用这种方式输入{ {token}}即可。
- 向集合添加请求,无需进行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
边栏推荐
- 高效的组织信息共享知识库是一种宝贵的资源
- 融云「音视频架构实践」技术专场【内含完整PPT】
- CC2530_ZigBee+华为云IOT:设计一套属于自己的冷链采集系统
- uniapp 去掉默认导航栏
- LyScript 内存交换与差异对比
- Description of the functional scenario of "collective storage and general governance" in the data center
- 为何微博又双叒叕崩溃了?
- 【目标检测】Focal Loss for Dense Object Detection
- 【GAMES101】作业6 加速结构
- Interpretation of the paper (JKnet) "Representation Learning on Graphs with Jumping Knowledge Networks"
猜你喜欢
“LaMDA 存在种族歧视,谷歌的 AI 伦理不过是‘遮羞布’!”
【云驻共创】【HCSD大咖直播】亲授大厂面试秘诀
#yyds干货盘点# 面试必刷TOP101:两个链表的第一个公共结点
Description of the functional scenario of "collective storage and general governance" in the data center
CC2530_ZigBee+HUAWEI CLOUD IOT: Design your own cold chain acquisition system
酷开科技 × StarRocks:统一 OLAP 分析引擎,全面打造数字化的 OTT 模式
【机器学习】机器学习基本概念/术语3
mysql之的执行计划
国内首发可视化智能调优平台,小龙带你玩转KeenTune UI
分享一个开源的USB-CAN工具!
随机推荐
融云「音视频架构实践」技术专场【内含完整PPT】
Adobe是什么?
被误解的 MVC 和被神化的 MVVM(二)
C# 构造函数如人之影子
论文解读(JKnet)《Representation Learning on Graphs with Jumping Knowledge Networks》
opencv 直方图比较
图像质量指标:PSNR、SSIM、MSE
软件测试<进阶篇-->测试分类>
5. Longest Palindromic Substring
软件盘点企业使用服装ERP的好处
Interviews are no longer hanged!This is the correct way to open the seven schemes of Redis distributed locks
掌握Redis的Sentinel哨兵原理,可助你拿到25k的offer
一加Ace值得买吗?用实力诠释性能的强大
oracle 分组合并字段,每组行显示
一个域名对应多个IP地址
204. Count Primes
浅谈Service Mesh对业务系统的价值
酷开科技 × StarRocks:统一 OLAP 分析引擎,全面打造数字化的 OTT 模式
我想请问下,我们的数据库是在亚马逊,Dataworks 连不通,怎么办?
【技术白皮书】第一章:OCR智能文字识别新发展——深度学习的文本信息抽取