zoukankan      html  css  js  c++  java
  • Azure OAuth2 PostMan 授权代码

    //config varibales
    const tokenLifeTime = 59;//minute
    pm.environment.set('tenantDomain', 'dev.onmicrosoft.com') // Directories + subscriptions
    pm.environment.set('client_credentials', 'client_credentials') // type
    pm.environment.set('clientId', 'de1d0d77-') //
    pm.environment.set('clientSecret', 'fUA=') //
    pm.environment.set('resource', 'http://dev.com/cloudservices/system/test1/agent') //ResourcesId
    
    //check bearerToken.
    var oldToken = pm.environment.get('bearerToken');
    var bearerTime = pm.environment.get('bearerTime');//last update bearerToken time 
    var noToken = oldToken == undefined || oldToken == null || oldToken.trim() == '';
    var expired = bearerTime == undefined || (new Date(bearerTime).addMinutes(tokenLifeTime) - new Date()) < 0;
    if (noToken || expired) {
        console.log('BearerToken has expired.')
        pm.sendRequest(
            {
                url: 'https://login.microsoftonline.com/' + pm.environment.get('tenantDomain') + '/oauth2/token',
                method: 'POST',
                header: 'Content-Type: application/x-www-form-urlencoded',
                body: {
                    mode: 'urlencoded',
                    urlencoded: [
                        { key: 'grant_type', value: 'client_credentials', disabled: false },
                        { key: 'client_id', value: pm.environment.get('clientId'), disabled: false, },
                        { key: 'client_secret', value: pm.environment.get('clientSecret'), disabled: false, },
                        //{ key: 'scope', value: pm.environment.get('scope'), disabled: false },
                        { key: 'resource', value: pm.environment.get('resource'), disabled: false },
                    ],
                },
            },
            function (err, res) {
                //pm.globals.set('bearerToken', res.json().access_token)
                pm.environment.set('bearerToken', res.json().access_token)
                pm.environment.set('bearerTime', new Date())
                console.log(pm.environment.get('bearerToken'))
            },
        )
    } else {
        console.log('BearerToken is exist and life is ok.')
    }

    将上述代码置于左建点击某一Collection的Pre-request Script 后,再选中AuthorizationTab页修改为:

  • 相关阅读:
    [PDF]阅读、注释最佳软件
    [CentOS 7]挂载ntfs格式U盘
    如何更改键盘按键---KeyTweak?
    ssh 文件上传、文件目录上传和下载
    centos7安装Anaconda(Anaconda3-2020.02-Linux-x86_64)与基本命令使用
    Ubuntu 下SVN常用操作
    程序员常用docker命令
    numpy&pandas
    Deep Learning with pytorch笔记(第三章)
    pytorch中的ReflectionPad2d
  • 原文地址:https://www.cnblogs.com/atwind/p/15774087.html
Copyright © 2011-2022 走看看