Postman之授权(Authorization)
昨天在项⽬进⾏接⼝实战过程中,接触到了Title提及的关键词Authorization ,基于登录请求之外的任何操作进⾏想后台发送的请求,在request headers中都带了访问权限认证
03 那么它在Postman中起到什么作⽤呢?
其实同样的也是授权作⽤;授权过程就是验证我们是否有权限从服务器访问所需的数据。发送请求时,通常必须包含参数以确保请求有权访问并返回所需的数据。Postman提供的授权类型可以让我们轻松处理Postman进⾏接⼝测试中的⾝份验证协议。
04 Authorization类型
在postman中Authorization分为以下⼏种类型:
注意:应当注意:NTLM和BearerToken仅在Postman本地应⽤程序中可⽤。所有其他授权类型都可以在Postman本地应⽤程序和Chrome应⽤程序中使⽤。
1>Inherit auth from parent
向集合或⽂件夹添加授权。
数据验证怎么设置下拉菜单假设您在集合中添加了⼀个⽂件夹。在授权选项卡下,默认的授权类型将被设置为“从⽗类继承auth”。
“从⽗”设置的“继承auth”指⽰默认情况下,该⽂件夹中的每个请求都使⽤⽗类的授权类型。在本例中,该集合使⽤“No Auth”,因此该⽂件夹使⽤“No Auth”,这意味着该⽂件夹中的所有请求将使⽤“No Auth”
如果您希望将⽗集合授权类型保留为“No Auth”,但要更新这个特定的⽂件夹的授权助⼿,该怎么办呢?您可以编辑⽂件夹的详细信息,从类型下拉菜单中选择“基本的Auth”,并输⼊您的凭证。因此,这个⽂件夹中的每个请求都依赖于“基本的Auth”,⽽⽗集合中的其余请求仍然不使⽤任何授权
2>No Auth
默认情况下,“No Auth”出现在下拉菜单列表中。当您不需要授权参数发送请求时,使⽤“No Auth”。
3>Bearer Token
Bearer Token是安全令牌。任何带有Bearer Token的⽤户都可以使⽤它来访问数据资源,⽽⽆需使⽤加密密钥。
使⽤Bearer Token:
第⼀步:从下拉菜单中选择“Bearer Token”。
第⼆步:要设置请求的授权参数,请输⼊令牌的值。
第三步:点击发送按钮。
4>Basic auth
Basic Auth是⼀种授权类型,需要验证⽤户名和密码才能访问数据资源。
使⽤基本⾝份验证:
第⼀步:从下拉菜单中选择“Basic Auth”。
第⼆步:要设置请求的授权参数,请输⼊您的⽤户名和密码。
第三步:点击发送按钮。
5>Digest Auth
在“Digest Auth”流程中,客户端向服务器发送请求,服务器返回客户端的nonce和realm值;客户端对⽤户名、密码、nonce值、HTTP请求⽅法、被请求资源URI等组合后进⾏MD5运算,把计算得到的摘要信息发送给服务端。服务器然后发回客户端请求的数据。
通过哈希算法对通信双⽅⾝份的认证⼗分常见,它的好处就是不必把具备密码的信息对外传输,只需将这些密码信息加⼊⼀个对⽅给定的随机值计算哈希值,最后将哈希值传给对⽅,对⽅就可以认证你的⾝份。
Digest思想同样采如此,⽤了⼀种nonce随机数字符串,双⽅约好对哪些信息进⾏哈希运算即可完成双⽅⾝份的验证。Digest模式避免了密码在⽹络上明⽂传输,提⾼了安全性,但它仍然存在缺点,例如认证报⽂被攻击者拦截到攻击者可以获取到资源。
默认情况下,Postman从响应中提取值对应的值。如果不想提取这些值,有以下两种选择:
在所选字段的⾼级部分中输⼊您⾃⼰的值
勾选“Yes,disable retrying the request”复选框。
6>OAuth 1.0
OAuth 1.0是⼀种可以让我们在不公开密码的情况下授权使⽤其他应⽤程序的授权模式。
在Postman中按照以下步骤使⽤OAuth 1.0授权:
在Authorization下来授权标签中选择“OAuth 1.0”授权模式;在“Add authorization data to” 下拉选择框中,选择对应的请求模式。
当选择“Request Body/Request URL”时,Postman将检查请求⽅法是POST还是PUT,以及请求主体类型是否是x-www-form-urlencoded;如果是这样,Postman将增加授权参数到请求主体。对于所有其他情况,它会向URL添加授权参数。
7>OAuth 2.0
OAuth 2.0作为OAuth 1.0的升级版本。在Postman中按照以下步骤进⾏使⽤:
在Authorization下来授权标签中选择“OAuth 2.0”授权模式在“Add authorization data to”下拉选择框中,选择对应的请求模式;
设置请求的授权参数,有以下三个选择:
点击“Get New Access Token”按钮,在弹出的对话框中输⼊对应的参数;单击“Request Token”按钮获取对应的Token。接下来有了对应的Token后,就可以点击“Send”按钮发送请求了;
在“Access Token”输⼊框中输⼊⼀个Token,或者Token对应的环境变量,然后就可以点击“Send”按钮发送请求了;
在“Available Tokens”下拉框中选择已经存在的Token,然后发送请求。
8>Hawk Authentication
hawk是⼀个HTTP认证⽅案,使⽤MAC(Message Authentication Code,消息认证码算法)算法,它提供了对请求进⾏部分加密验证的认证HTTP请求的⽅法,包括HTTP⽅法、请求URI和主机。
hawk⽅案要求提供⼀个共享对称密匙在服务器与客户端之间,通常这个共享的凭证在初始TLS保护阶段建⽴的,或者是从客户端和服务器都可⽤的其他⼀些共享机密信息中获得的
05 操作实例
在线登录:⽤户名,密码.... 成功登录
登录进去,可以看到我们的请求头⾥⽣成了Authentication,
此时我准备进⾏⼀个购买⽉会员的接⼝进⾏测试,好我们来看看请求哈;
请求地址:
请求头:
⼊参:
Postman历往获取的Authentication,因为该字段是存在时效性的所以如果我们每次这样的每个请求⼿动去更新添加很⿇烦,所以我在这⾥将他设置为环境变量
我们来请求⼀下该过期的的接⼝,相当于就是没有该值⼀样的意思;返回请登陆后访该功能,意思就是没有权限
然后我们将今天刚上⽅登录新⽣成的Authentication:Bearer 503e9619f2346adf1a269ba44acd47904661abd0 带⼊到变量⾥⾯去进⾏更新保存
接着我们做接⼝测试肯定是多个事件⽽不是⼀个事件对吧,我这⾥还做了⼀步操作就是将我们的所有的该项⽬的⼀连串的接⼝直接存放在同⼀个集合中
Postman之集合(collections) 然后编辑该集合的全局Authentication ;
设置--->选择类型为 API key 然后添加key & value
这⾥的作⽤就是我们编辑的全局Authentication,我们其它集合就⽆需再请求头中去⼿动编辑添加Authentication,,直接执⾏调⽤该Authentication环境变量;针对所有的请求需要这个权限认证来说;这样⽐之前节省时间效率多了;
我们再来执⾏下接⼝,可以看到请求头⾥的Authentication值⾃动更新为我环境变量的值,同时请求也通过认证;正常返回响应值
成功请求响应
06 总结
好了,到此关于Postman中的Authentication的内容都到此总结完毕。这是针对这类项⽬请求需要⽤到这个,⼀般的类型的都是我们直接从返回⾥获取登陆的凭证,然后将该值写⼊变量,下⼀个请求进⾏引⽤;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。