鉴权也就是身份认证,就是验证您是否有权限从服务器访问或操作相关数据。发送请求时,通常必须包含相应的检验参数以确保请求具有访问权限并返回所需数据。通俗的讲就是一个门禁,您想要进入室内,必须通过门禁验证身份,这就是鉴权,如打开一个网站必须要输入用户名和密码才可以登录进入,这种就是鉴权,还有一些业务需要登录以后才可以进行,因为需要token值,则就可以把token添加到鉴权中,这种也是鉴权。
postman 支持多种鉴权方式,如图
Inherit auth from parent:从父级继承身份验证,是每个请求的默认选择 。这是一个很有用的功能,当我们对一个集合(collection)进行测试的时候,集合中的每个请求都需要获取token,那么如果我们在集合的根目录把token获取到的话,那么该集合下的所有请求就会自动获取到token,无需任何处理(因为每个请求的Authorization默认选项就是Inherit auto from parent),也就省略了我们对每个token进行处理了
实现步骤:
Bearer Token :承载令牌,一般也叫 Json web token,就是发送一个 json 格式的 token 令牌,服务端会针对 token 进行解密验证,令牌是文本字符串,包含在请求标头中。在请求授权选项卡中,从类型下拉列表中选择承载令牌。在“ 令牌”字段中,输入您的API密钥值,或者为了增加安全性,将其存储在变量中并按名称引用该变量。如下图
postman会将令牌值以要求的格式附加到请求header的文本“ Bearer”上,如下所示:
在请求标头中,您将看到正在向Authorization标头传递一个表示您的用户名和密码值的Base64编码的字符串,该字符串附加到文本“ Basic”中,如下图所示
Digest Auth下面的高级字段是可选的,postman会在请求运行时自动填充它们。
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身份验证参数如下:
1)Hawk身份验证ID:您的API身份验证ID值。
2)Hawk身份验证密钥:您的API身份验证密钥值。
3)算法:用于创建消息认证码(MAC)的哈希算法。
高级参数:
1)用户:用户名。
2)Nonce:客户端生成的随机字符串。
3)ext:与请求一起发送的任何特定于应用程序的信息。
4)app:凭据与应用程序之间的绑定,以防止攻击者使用发布给他人的凭据。
5)dlg:颁发证书的应用程序的ID。
6)时间戳:服务器用来防止在时间窗口之外进行重放攻击的时间戳。
最常用的两种鉴权方式为:Basic 以及 OAuth2
感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取