How to receive access token for service

How to receive access token for service

This content is archived.
deprecated auth flow

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).

Not all services support this type of authorization.

Instructions

  1. Download Postman - Postman: The World's Leading API Platform | Sign Up for Free

  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: