Postman中的authorization
1、概述
Authorization是验证是否拥有从服务器访问所需数据的权限。当发送请求时,通常必须包含参数,以确保请求具有访问和返回所需数据的权限。Postman提供了授权类型,可以轻松地在Postman本地应用程序中处理身份验证协议。
2、使用
当在postman中选择Authorization的类型的时候,可以看到一共有10个类型,如下图:
应当注意:NTLM和BearerToken仅在Postman本地应用程序中可用。所有其他授权类型都可以在Postman本地应用程序和Chrome应用程序中使用。
现在来按照上图从上到下去看看这10种类型:
a、Inherit auth from parent (从父类继承身份验证)
向集合或文件夹添加授权。
假设您在集合中添加了一个文件夹。在授权选项卡下,默认的授权类型将被设置为“从父类继承auth”。
“从父”设置的“继承auth”指示默认情况下,该文件夹中的每个请求都使用父类的授权类型。在本例中,该集合使用“No Auth”,因此该文件夹使用“No Auth”,这意味着该文件夹中的所有请求将使用“No Auth”
如果您希望将父集合授权类型保留为“No Auth”,但要更新这个特定的文件夹的授权助手,该怎么办呢?您可以编辑文件夹的详细信息,从类型下拉菜单中选择“基本的Auth”,并输入您的凭证。因此,这个文件夹中的每个请求都依赖于“基本的Auth”,而父集合中的其余请求仍然不使用任何授权。如下图所示:
b、No Auth
默认情况下,“No Auth”出现在下拉菜单列表中。当您不需要授权参数发送请求时,使用“No Auth”。
c、Bearer Token
Bearer Token是安全令牌。任何带有Bearer Token的用户都可以使用它来访问数据资源,而无需使用加密密钥。
使用Bearer Token:
第一步:从下拉菜单中选择“Bearer Token”。
第二步:要设置请求的授权参数,请输入令牌的值。
第三步:点击发送按钮。
d、Basic Auth
基本身份验证是一种比较简单的授权类型,需要经过验证的用户名和密码才能访问数据资源。这就需要我们输入用户名和对应的密码。
使用基本身份验证:
第一步:从下拉菜单中选择“Basic Auth”。
第二步:要设置请求的授权参数,请输入您的用户名和密码。
第三步:点击发送按钮。
由于“Basic auth”使用明文传递,目前基本很少使用了。
e 、Digest Auth
在“Digest Auth”流程中,客户端向服务器发送请求,服务器返回客户端的nonce和realm值;客户端对用户名、密码、nonce值、HTTP请求方法、被请求资源URI等组合后进行MD5运算,把计算得到的摘要信息发送给服务端。服务器然后发回客户端请求的数据。
通过哈希算法对通信双方身份的认证十分常见,它的好处就是不必把具备密码的信息对外传输,只需将这些密码信息加入一个对方给定的随机值计算哈希值,最后将哈希值传给对方,对方就可以认证你的身份。Digest思想同样采如此,用了一种nonce随机数字符串,双方约好对哪些信息进行哈希运算即可完成双方身份的验证。Digest模式避免了密码在网络上明文传输,提高了安全性,但它仍然存在缺点,例如认证报文被攻击者拦截到攻击者可以获取到资源。
默认情况下,Postman从响应中提取值对应的值。如果不想提取这些值,有以下两种选择:
- 在所选字段的高级部分中输入您自己的值
- 勾选“Yes,disable retrying the request”复选框。
在Postman中使用“Digest Auth”如下图所示:
f 、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添加授权参数。
实际使用时,需要按照下图所示填写对应的参数:
g 、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,然后发送请求。
如下图所示:
h、Hawk Authentication
hawk是一个HTTP认证方案,使用MAC(Message Authentication Code,消息认证码算法)算法,它提供了对请求进行部分加密验证的认证HTTP请求的方法,包括HTTP方法、请求URI和主机。
hawk方案要求提供一个共享对称密匙在服务器与客户端之间,通常这个共享的凭证在初始TLS保护阶段建立的,或者是从客户端和服务器都可用的其他一些共享机密信息中获得的。
在Postman中具体使用如下图所示: