【问题标题】:Is possible to automate OAuth 2.0 implicit grant flow of Azure active directory in postman?是否可以在邮递员中自动执行 Azure 活动目录的 OAuth 2.0 隐式授权流程?
【发布时间】:2019-03-12 23:28:26
【问题描述】:

我正在尝试自动化 API 的所有测试。目前正在使用使用 AAD 的 utentificacion。 问题是:我可以使用邮递员的过程使用OAuth2.0获取令牌

邮递员对话框

但我无法运行集合并执行触发器之类的操作以在开始时获取令牌。如果我想获取令牌,我必须按下“获取新访问令牌”按钮

有什么方法可以自动完成吗?或者如何创建流程来获取令牌?

谢谢!

【问题讨论】:

    标签: oauth-2.0 azure-active-directory postman


    【解决方案1】:

    您可以使用预请求脚本自动执行此操作。您只需要修改您所需的值并将其发布在邮递员的 Pre-request Script 中即可。它最好在父集合中,因此它可以从父集合中继承身份验证。

    var getToken = true;
    
    if (!pm.environment.get('accessTokenExpiry') || 
        !pm.environment.get('currentAccessToken')) {
        console.log('Token or expiry date are missing')
    } else if (pm.environment.get('accessTokenExpiry') <= (new Date()).getTime()) {
        console.log('Token is expired')
    } else {
        getToken = false;
        console.log('Token and expiry date are all good');
    }
    
    if (getToken === true) {
        pm.sendRequest({
             url: 'https://login.microsoftonline.com/microsoft.onmicrosoft.com/oauth2/token',
        method: 'POST',
        header: 'Content-Type:application/x-www-form-urlencoded',
            body: {
            mode: 'raw',
            raw: 'grant_type=implicit&client_id...'
        }
        }, function (err, res) {
        console.log(err ? err : res.json());
            if (err === null) {
                console.log('Saving the token and expiry date')
                var responseJson = res.json();
                pm.environment.set('currentAccessToken', responseJson.access_token)
        
                var expiryDate = new Date();
                expiryDate.setSeconds(expiryDate.getSeconds() + responseJson.expires_in);
                pm.environment.set('accessTokenExpiry', expiryDate.getTime());
            }
        });
    }

    代码示例可以参考here

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-15
    • 2019-03-11
    • 2012-12-27
    相关资源
    最近更新 更多