Authorization

对于很多应用,出于安全考虑我们的接口并不希望对外公开。这个时候就需要使用授权(Authorization)机制。

授权过程验证您是否具有访问服务器所需数据的权限。

当发送请求时,通常必须包含参数,以确保请求具有访问和返回所需数据的权限。

Postman提供授权类型,可以轻松地在Postman本地应用程序中处理身份验证协议。

Postman中授权协议类型

支持的授权协议类型:

  • Inherit auth from parent
  • No Auth
  • API key
  • Bear Token
  • Basic Auth
  • Digest Auth
  • OAuth 1.0
  • OAuth 2.0
  • Hawk Authentication
  • AWS Signature
  • NTML Authentication[Beta]

Inherit auth from parent(从父类集成身份验证)

向集合或文件夹添加授权。

假设您在集合中添加了一个文件夹。在授权选项卡下,默认的授权类型将被设置为“从父类继承auth”。

“从父”设置的“继承auth”指示默认情况下,该文件夹中的每个请求都使用父类的授权类型。假如,该集合使用“No Auth”,因此该文件夹使用“No Auth”,这意味着该文件夹中的所有请求将使用“No Auth”

如果您希望将父集合授权类型保留为“No Auth”,但要更新这个特定的文件夹的授权助手,该怎么办呢?您可以编辑文件夹的详细信息,从类型下拉菜单中选择“基本的Auth”,并输入您的凭证。因此,这个文件夹中的每个请求都依赖于“基本的Auth”,而父集合中的其余请求仍然不使用任何授权。

No Auth

不需要认证,这是默认选中的。

Basic Auth

这是一种比较简单的授权类型,需要经过验证的用户名和密码才能访问数据资源。这就需要我们输入用户名和对应的密码。

使用基本身份验证:

第一步:从下拉菜单中选择“Basic Auth”。

第二步:要设置请求的授权参数,请输入您的用户名和密码。

第三步:点击发送按钮。

目前项目中使用的就是这种认证方式。

案例:请求URL如下,授权账号为:

  • 用户名:username

  • 密码:password

  • 授权协议为:Basic Auth

    https://{{beta}}/oauth2/token?grant_type=password&sms_verify=true
  • 如果不输入用户密码,直接GET请求,则会返回提示:Unauthorized

  • 输入用户名密码,选择Basic auth授权类型,则返回如下结果

{
"access_token": "dda7b55f-574d-4de6-9f62-d849d5894ba9",
"token_type": "bearer",
"refresh_token": "1da3f4fb-dbf7-40d6-9316-32916f4c0d03",
"expires_in": 3599,
"scope": "READ WRITE"
}

postman中这里使用的是保存登录的token,在下一个接口中使用该token信息。

代码如下:

if(responseCode.code === 200){
// 判断是否存在 'access_token' 值
tests["Body matches access_token"] = responseBody.has("access_token");
//保存响应结果json
var jsonData = JSON.parse(responseBody);
//将响应结果中的access_token保存为全局变量hb_access_token
postman.setGlobalVariable("hb_access_token",jsonData.access_token);
//打印请求参数
tests[`[INFO] Request params: ${JSON.stringify(request.data)}`] = true;
// tests["have result "]=jsonData.hasOwnProperty("error")!==true;
//验证响应结果中存在access_token
tests["have data "]=jsonData.hasOwnProperty("access_token")===true;
//验证该接口的响应时间
tests[`[INFO] Response timeout: ${responseTime}`] = responseTime < 6000;
}else{
//接口请求失败
tests["Waring:Request Failed. Please Fix!"] = false;
}

使用Basic Auth认完成。在下一个接口中,如何使用已经保存的全局变量access_token,如图

Bear Token

Bearer Token是安全令牌。任何带有Bearer Token的用户都可以使用它来访问数据资源,而无需使用加密密钥。

PostMan授权认证使用的更多相关文章

  1. spring cloud+dotnet core搭建微服务架构:Api授权认证(六)

    前言 这篇文章拖太久了,因为最近实在太忙了,加上这篇文章也非常长,所以花了不少时间,给大家说句抱歉.好,进入正题.目前的项目基本都是前后端分离了,前端分Web,Ios,Android...,后端也基本 ...

  2. spring cloud+.net core搭建微服务架构:Api授权认证(六)

    前言 这篇文章拖太久了,因为最近实在太忙了,加上这篇文章也非常长,所以花了不少时间,给大家说句抱歉.好,进入正题.目前的项目基本都是前后端分离了,前端分Web,Ios,Android...,后端也基本 ...

  3. ASP.NET Core 3.0 一个 jwt 的轻量角色/用户、单个API控制的授权认证库

    目录 说明 一.定义角色.API.用户 二.添加自定义事件 三.注入授权服务和中间件 三.如何设置API的授权 四.添加登录颁发 Token 五.部分说明 六.验证 说明 ASP.NET Core 3 ...

  4. ASP.NET Core 中jwt授权认证的流程原理

    目录 1,快速实现授权验证 1.1 添加 JWT 服务配置 1.2 颁发 Token 1.3 添加 API访问 2,探究授权认证中间件 2.1 实现 Token 解析 2.2 实现校验认证 1,快速实 ...

  5. Asp.NetCore3.1 WebApi 使用Jwt 授权认证使用

    1:导入NuGet包 Microsoft.AspNetCore.Authentication.JwtBearer 2:配置 jwt相关信息 3:在 startUp中 public void Confi ...

  6. IOS第三天-新浪微博 - 版本新特性,OAuth授权认证

    *********版本新特性 #import "HWNewfeatureViewController.h" #import "HWTabBarViewController ...

  7. 七天学会ASP.NET MVC (四)——用户授权认证问题

    小编应各位的要求,快马加鞭,马不停蹄的终于:七天学会 Asp.Net MVC 第四篇出炉,在第四天的学习中,我们主要了学习如何在MVC中如何实现认证授权等问题,本节主要讲了验证错误时的错误值,客户端验 ...

  8. Yii2框架RESTful API教程(二) - 格式化响应,授权认证和速率限制

    之前写过一篇Yii2框架RESTful API教程(一) - 快速入门,今天接着来探究一下Yii2 RESTful的格式化响应,授权认证和速率限制三个部分 一.目录结构 先列出需要改动的文件.目录如下 ...

  9. MVC授权认证

    处于安全性考虑,MVC可以完成授权认证,授权认证的方式如下: 1.配置Config文件,设置登录页面: <authentication mode="Forms"> &l ...

随机推荐

  1. leetcode-三角形的最大周长

    Python解法: class Solution: def largestPerimeter(self, A: List[int]) -> int: A.sort() for i in rang ...

  2. __str__方法

    """str()就是可以自定义输出返回值,必须是str字符串""" class Dog: def __init__(self, name): ...

  3. Java——面向对象的特征二:继承性

    2.1面向对象的特征二:继承性 ①引入类继承最基本的作用是:代码重用. ②语法 [修饰符列表] class 子类名 extends 父类名{ 类体; } ③子类继承父类以后,父类中声明的属性.方法,子 ...

  4. NX二次开发-UFUN结合NXOPEN开发_常用代码模板

    hpp //头文件 #include <NXOpen/Part.hxx> #include <NXOpen/PartCollection.hxx> #include <N ...

  5. [转]gulp打包工具总结

    与grunt类似,gulp也是构建工具,但相比于grunt的频繁IO操作,gulp的流操作能更快更便捷地完成构建工作.gulp借鉴了Unix操作系统的管道(pipe)思想,前一级的输出,直接变成后一级 ...

  6. scrapy-redis + Bloom Filter分布式爬取tencent社招信息

    scrapy-redis + Bloom Filter分布式爬取tencent社招信息 什么是scrapy-redis 什么是 Bloom Filter 为什么需要使用scrapy-redis + B ...

  7. C++的new和delete

    #include <iostream> using namespace std; int main(int argc, char *argv[]) { int *p = NULL; //定 ...

  8. SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问 (也就是跨数据库访问出错)

    delphi ado 跨数据库访问 语句如下 ' and db = '帐套1' 报错内容是:SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATE ...

  9. python学习5—一些关于基本数据结构的练习题

    python学习5—一些关于基本数据结构的练习题 # 1. use _ to connect entries in a list # if there are no numbers in list l ...

  10. 10个CSS简写技巧

    CSS简写就是指将多行的CSS属性声明化成一行,又称为css代码优化.CSS简写的最大好处就是能够显著减少CSS文件的大小,其实还有很多其他益处.臃肿而杂乱的CSS样式表会使你遇到问题是难以调试.尤其 ...