zoukankan      html  css  js  c++  java
  • PostMan授权认证使用

    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的用户都可以使用它来访问数据资源,而无需使用加密密钥。

  • 相关阅读:
    sql中group by用来干嘛的
    IE浏览器兼容性问题解决方法
    mysql 解压缩和赋权
    Unity带有网络功能——创建服务,并连接到一个特定的服务
    HTML5学习笔记简明版(10):过时的元素和属性
    网络流柱
    ios 串
    辛星整理3linux笔记,免费下载点,我希望对你有所帮助
    ServletRequest接口召回总结
    实现自我鼠标
  • 原文地址:https://www.cnblogs.com/LOVEYU/p/11115810.html
Copyright © 2011-2022 走看看