UNPKG

@onereach/orest-input-cli

Version:

The tool for creating, serving, and publishing OREST Inputs

56 lines (47 loc) 1.34 kB
const axios = require('axios'); const getFingerprint = require('./util/getFingerprint'); const multiUserSelect = require('./multiUserSelect'); function getToken({ sdkApiUrl, username, password, verificationCode }) { const data = JSON.stringify({ username, password, fingerPrint: getFingerprint(), verificationCode, }); const config = { method: 'post', url: `${sdkApiUrl}/auth/token`, headers: { 'Content-Type': 'application/json', }, data: data, }; return axios(config).then(async function (response) { if (response.data.tokenType === 'multi-user') { const users = await axios({ method: 'get', url: `${sdkApiUrl}/multi-user/list-users`, headers: { Authorization: response.data.token, 'Content-Type': 'application/json', }, }); const user = await multiUserSelect(users.data); const res = await axios({ method: 'post', url: `${sdkApiUrl}/multi-user/user-token`, headers: { Authorization: response.data.token, 'Content-Type': 'application/json', }, data: { id: user.id, accountId: user.accountId, }, }); return res.data.token; } return response.data.token; }); } module.exports = getToken;