-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpostmanScriptJWT
More file actions
38 lines (37 loc) · 1.22 KB
/
Copy pathpostmanScriptJWT
File metadata and controls
38 lines (37 loc) · 1.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
var reqUrl=pm.request.url;
var pathArray = reqUrl.toString().split('/');
var loginUrl = "";
if(pathArray[4] == 'v1' || pathArray[4] == 'v0'){
loginUrl = pathArray[0] + '//' + pathArray[2] + '/' + pathArray[3] + '/' + pathArray[4] + '/' + 'factent/ent';
}else{
loginUrl = pathArray[0] + '//' + pathArray[2] + '/' + pathArray[3] + '/' + 'rotent/ent';
}
console.log('Calling for Entitlement - ', loginUrl);
userName=pm.request.headers.get("username");
var expiresOn = pm.variables.get('ExpiresOn');
if (!expiresOn || new Date(expiresOn) <= new Date()) {
var data = pm.request.body;
body = data[data.mode];
jsonData = JSON.parse(body);
pm.sendRequest({
url: loginUrl,
method: 'POST',
header: {
'content-type': 'application/json',
'ssc-username': userName
},
body: {
mode: 'raw',
raw: JSON.stringify({"appName": jsonData.appName})
}
}, function (err, res) {
console.log(err ? err : res.json());
if(!err){
jwt = 'Bearer ' + res.json().responseData.jwt;
console.log(jwt);
pm.request.headers.add({key: 'X-Auth-FactRpt', value: jwt});
var expiresOn = new Date(0);
pm.environment.set('ExpiresOn', expiresOn);
}
});
}