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
{ "aud": "https://api.x-bees.com", "scope": "xbees" }
Insert payload to request:
Make a request and receive a token: