How to receive access token for service
The document explains how to receive access token for service, using Postman as an example.
Created: November 2023
Permalink: https://wildix.atlassian.net/wiki/x/c4D9Eg
Introduction
The document provides an example of receiving access token via Postman (pre-request script).
Instructions
Download Postman - https://www.postman.com/
Run it
Create a new request:
Choose method POST and enter the URL:
https://{{authService}}/api/v2/OpenId/service/
Copy the Pre-request Script and configure user, password and pbxHost:
const user = 'extension';
const pass = 'password';
const pbxHost = 'https://<domain>.wildixin.com';
const authService = 'auth.wildix.com';
pm.variables.set('authService', authService);
pm.sendRequest({
url: `${pbxHost}/api/v1/personal/token/?service=${authService}`,
method: 'GET',
header: {
'Authorization': 'Basic ' + btoa(`${user}:${pass}`)
},
body: {}
}, function(err, response) {
if (err || response.code !== 200) {
throw new Error('Personal token not received');
}
const personalToken = response.json().result.token;
console.log('PERSONAL TOKEN', personalToken);
pm.sendRequest({
url: `https://${authService}/api/v2/Token/`,
method: 'GET',
header: {
'Authorization': `Bearer ${personalToken}`
},
body: {}
}, function(err, response) {
if (err || response.code !== 200) {
throw new Error('Access token for auth not received');
}
const authAccessUserToken = response.json().result.accessToken;
console.log('AUTH ACCESS USER TOKEN', authAccessUserToken);
pm.variables.set('authAccessUserToken', authAccessUserToken);
});
});
Insert script to Postman:
Go to the Authorization tab and choose the type and set dynamic variable:
{{authAccessUserToken}}
Configure payload, see aud and scope in the documentation for services
Insert payload to request:
Make a request and receive a token: