前言:本章将学习Postman当中的授权——Authorization

一、简介

Authorization顾名思义就是授权的意思,那是给谁授权呢?又有多少种授权的方式呢?Authorization是给本地请求授权,使其拥有向服务器访问和获得所需数据的权限;Postman中一共拥有十种Authorization类型。以下是Postman官网提供的原话:Authorization是验证是否拥有从服务器访问所需数据的权限。当发送请求时,通常必须包含参数,以确保请求具有访问和返回所需数据的权限。Postman提供了授权类型,可以轻松地在Postman本地应用程序中处理身份验证协议。

二、用法

在Postman中一共提供了十种authorization类型,下面来一一介绍其用法。

注意:NTLM和BearerToken在Postman本地应用程序(下载本地应用程序)中可用。所有其他授权类型都可以在Postman本地应用程序和Chrome应用程序中使用。请注意,Postman Chrome应用程序已被弃用。

1、Inherit auth from parent (从父类继承身份验证)

可向集合(collection)或者文件夹(folder)添加授权。

下面举一个简单的案例来说明下用法:

假设现在有这样的一个集合,它的授权方式是"No Auth"(不使用任何授权),我们在集合下面添加一个文件夹并将此文件夹的默认授权方式更改为"Inherit auth from parent",那么此文件夹下的所有请求将使用父类的授权类型,即集合的授权类型——"No Auth";

假设我们现在又有一个需求,在不改变父类(这里是指集合)默认授权方式的情况下,想改变上面文件夹下所有请求授权方式的为"Basic Auth",这个该怎么实现呢?实际上也非常的简单,只需要修改此文件夹下的授权类型为"Basic Auth";此时,这个文件夹中的每个请求都依赖于"Basic Auth",而父集合中的其余请求仍然不使用任何授权。

2、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授权:

  1. 在Authorization下来授权标签中选择“OAuth 1.0”授权模式;
  2. 在“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中按照以下步骤进行使用:

  1. 在Authorization下来授权标签中选择“OAuth 2.0”授权模式;
  2. 在“Add authorization data to”下拉选择框中,选择对应的请求模式;
  3. 设置请求的授权参数,有以下三个选择:
      • 点击“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保护阶段建立的,或者是从客户端和服务器都可用的其他一些共享机密信息中获得的。

本章主要参考Postman官网:https://learning.getpostman.com/docs/postman/sending-api-requests/authorization/

 

Postman学习之Authorization的更多相关文章

  1. postman学习总结

    从网上各处学习总结,会有不足之处,后期不断补充中... 一.get\post请求参数 1.get类型 (1)选择请求方式GET (2)输入完整的URL (3)在param中填写参数,点击send发送请 ...

  2. postman学习笔记(一)——最简单的postman入门

    昨天开始正式接触postman的操作,最简单的操作是根据接口文档一个个测试接口. 例如: 测试环境地址:http://111.2.198.4(项目组自己的测试环境,要测试的项目组肯定会给你的) //以 ...

  3. Postman学习之【压力测试】

    Postman请自行下载 下面是在网上随便抓了一个请求地址来做演示,把请求地址填入地址栏,此请求为GET请求.点击Send发送请求,请求结果将会在下方显示出来.每次的请求历史数据,会被记录下来,但是经 ...

  4. 接口测试——带token请求post接口(postman学习)

    今天遇到一个接口,是添加备注的,post类型,访问参数中需要带上token才行,我在header 中直接加token参数,接口总返回 403,请登陆 1.考虑yapi接口平台集成的是postman的接 ...

  5. postman学习笔记(二)

    昨天刚操作了一遍最简单的接口测试,今天就收到了俩json文件,一个是postman里导出的接口列表一个是环境变量.拿到的时候一脸懵逼,昨天还以为学会用postman测试接口了,今天才发现哪儿到哪儿呀. ...

  6. postman 学习网址

    postman使用详解: http://gold.xitu.io/entry/57597a62a341310061337885 https://www.getpostman.com/docs/writ ...

  7. Postman学习(压力测试)

    Postman下载安装后 下面是在网上随便抓了一个请求地址来做演示,把请求地址填入地址栏,此请求为GET请求.点击Send发送请求,请求结果将会在下方显示出来.每次的请求历史数据,会被记录下来,但是经 ...

  8. Postman学习宝典(三)

    Postman 入门3 - Newman Newman 官方帮助文档地址 Newman 安装 嗯,它需要安装,因为它不是音乐播放器!Newman是为Postman而生,专门用来运行Postman编写好 ...

  9. Postman学习宝典(二)

    文章来源于:米阳MeYoung Postman 入门2 - Script.Runner 上次Postman 入门1 我们介绍全局变量和环境变量时已经使用过Tests 和 pre-request scr ...

随机推荐

  1. Spring Security 是如何在 Servlet 应用中执行的?

    Spring Security 是一个强大的认证和授权框架,它的使用方式也非常简单,但是要想真正理解它就需要花一时间来学习了,最近在学习 Spring Security 时有一些新的理解,特意记录下来 ...

  2. Exercise

    """ 问:执行完下面的代码后, l,m的内容分别是什么? """ def func(m): for k,v in m.items(): m ...

  3. MySQL 查询语句优化思路

    query 语句的优化思路和原则主要提现在以下几个方面:1. 优化更需要优化的Query:2. 定位优化对象的性能瓶颈:3. 明确的优化目标:4. 从 Explain 入手:5. 多使用profile ...

  4. liunx系统二进制包安装编译mysql数据库

    liunx系统二进制包安装编译mysql数据库 # 解压二进制压缩包 [root@localhost ~]# tar xf mysql-5.5.32-linux2.6-x86_64.tar.gz -C ...

  5. 2019-2020-1 20199326《Linux内核原理与分析》第五周作业

    第五周学习内容 庖丁解牛Linux内核分析第四章:系统调用的三层机制(上) Linux内核分析实验四 学到的一些知识 4.1用户态.内核态.中断 宏观上Linux操作系统的体系架构分为用户态和内核态 ...

  6. http协议请求流程分析

    http协议请求流程分析 用户输入URL(地址链接)(http://www.baidu.com:80/tools.html)客户端获取到端口及主机名后,客户端利用DNS解析域名,首先客户端的浏览器会先 ...

  7. HDU 5725 Game

    1. 笔记 题意是求距离的期望(距离仍指连接两点且有效的路径长度的最小值).直观想象可以发现,该距离与曼哈顿距离相比最多多2(可以构造这样的路径). 答案=(任意两点曼哈顿距离的总和 - 至少有一点是 ...

  8. MATLAB 之MATLAB2016b 安装破解教程

    MATLAB2016b 安装破解教程 安装包: 链接: https://pan.baidu.com/s/1RNwRGRjR-bHQEq1OMJ57OA 提取码: r663 步骤: (1)R2016b_ ...

  9. cmd命令行中无pip命令的解决办法

    cmd命令行中无pip命令的解决办法 只需简单的两步即可,按顺序执行以下命令(在cmd中): python -m ensurepip python -m pip install --upgrade p ...

  10. 【Linux常见命令】cd命令

    BASH_BUILTINS(1) cd命令用于切换当前工作目录至 dirName(目录参数). 其中 dirName 表示法可为绝对路径或相对路径.若目录名称省略,则变换至使用者的 home 目录 ( ...