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

  1. Download Postman - https://www.postman.com/

  2. Run it

  3. Create a new request:

  1. Choose method POST and enter the URL:

https://{{authService}}/api/v2/OpenId/service/
  1. 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); }); });
  1. Insert script to Postman:

  1. Go to the Authorization tab and choose the type and set dynamic variable:

{{authAccessUserToken}}
  1. Configure payload, see aud and scope in the documentation for services

    { "aud": "https://api.x-bees.com", "scope": "xbees" }
  2. Insert payload to request:

  1. Make a request and receive a token: