diff --git a/configuration.ts b/configuration.ts index 5dc9caa..adc0b49 100644 --- a/configuration.ts +++ b/configuration.ts @@ -32,6 +32,7 @@ export interface ConfigurationParameters { clientId?: string; clientSecret?: string; accessToken?: string | Promise | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise); + accessTokenUrl?: string; awsv4?: AWSv4Configuration; basePath?: string; serverIndex?: number; @@ -67,6 +68,10 @@ export class Configuration { * @param scopes oauth2 scope */ accessToken?: string | Promise | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise); + /** + * oauth2 token url + */ + accessTokenUrl?: string; /** * temporary access token storage */ @@ -115,6 +120,7 @@ export class Configuration { this.clientSecret = param.clientSecret; this.tempAccessToken; this.tempAccessTokenExpiration; + this.accessTokenUrl = param.accessTokenUrl ?? 'https://api.bandwidth.com/api/v1/oauth2/token'; this.accessToken = param.accessToken ?? (async (name, scopes) => { const now = Math.floor(Date.now() / 1000); if (this.tempAccessToken && (!this.tempAccessTokenExpiration || this.tempAccessTokenExpiration > now + 60)) { @@ -125,7 +131,7 @@ export class Configuration { headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, auth: { username: this.clientId || '', password: this.clientSecret || '' }, data: 'grant_type=client_credentials', - url: 'https://api.bandwidth.com/api/v1/oauth2/token' + url: this.accessTokenUrl }; const response = await globalAxios.request(tokenRequestArgs); this.tempAccessToken = response.data.access_token; diff --git a/custom_templates/configuration.mustache b/custom_templates/configuration.mustache index 0a89e94..d4ce2ba 100644 --- a/custom_templates/configuration.mustache +++ b/custom_templates/configuration.mustache @@ -22,6 +22,7 @@ export interface ConfigurationParameters { clientId?: string; clientSecret?: string; accessToken?: string | Promise | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise); + accessTokenUrl?: string; awsv4?: AWSv4Configuration; basePath?: string; serverIndex?: number; @@ -57,6 +58,10 @@ export class Configuration { * @param scopes oauth2 scope */ accessToken?: string | Promise | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise); + /** + * oauth2 token url + */ + accessTokenUrl?: string; /** * temporary access token storage */ @@ -105,6 +110,7 @@ export class Configuration { this.clientSecret = param.clientSecret; this.tempAccessToken; this.tempAccessTokenExpiration; + this.accessTokenUrl = param.accessTokenUrl ?? 'https://api.bandwidth.com/api/v1/oauth2/token'; this.accessToken = param.accessToken ?? (async (name, scopes) => { const now = Math.floor(Date.now() / 1000); if (this.tempAccessToken && (!this.tempAccessTokenExpiration || this.tempAccessTokenExpiration > now + 60)) { @@ -115,7 +121,7 @@ export class Configuration { headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, auth: { username: this.clientId || '', password: this.clientSecret || '' }, data: 'grant_type=client_credentials', - url: 'https://api.bandwidth.com/api/v1/oauth2/token' + url: this.accessTokenUrl }; const response = await globalAxios.request(tokenRequestArgs); this.tempAccessToken = response.data.access_token; diff --git a/tests/unit/api/calls-api.test.ts b/tests/unit/api/calls-api.test.ts index 3cb17ca..87b8a7b 100644 --- a/tests/unit/api/calls-api.test.ts +++ b/tests/unit/api/calls-api.test.ts @@ -12,8 +12,7 @@ import { describe('CallsApi', () => { const config = new Configuration({ - username: BW_USERNAME, - password: BW_PASSWORD, + accessToken: 'abcd1234', basePath: 'http://127.0.0.1:4010' }); const callsApi = new CallsApi(config); diff --git a/tests/unit/api/conferences-api.test.ts b/tests/unit/api/conferences-api.test.ts index ef099c9..9dbefc6 100644 --- a/tests/unit/api/conferences-api.test.ts +++ b/tests/unit/api/conferences-api.test.ts @@ -10,8 +10,7 @@ import { describe('ConferencesApi', () => { const config = new Configuration({ - username: BW_USERNAME, - password: BW_PASSWORD, + accessToken: 'abcd1234', basePath: 'http://127.0.0.1:4010' }); const conferencesApi = new ConferencesApi(config); diff --git a/tests/unit/api/endpoints-api.test.ts b/tests/unit/api/endpoints-api.test.ts index 4af3bab..c0f73c3 100644 --- a/tests/unit/api/endpoints-api.test.ts +++ b/tests/unit/api/endpoints-api.test.ts @@ -9,8 +9,7 @@ import { describe('EndpointsApi', () => { const config = new Configuration({ - username: BW_USERNAME, - password: BW_PASSWORD, + accessToken: 'abcd1234', basePath: 'http://127.0.0.1:4010' }); const endpointsApi = new EndpointsApi(config); diff --git a/tests/unit/api/media-api.test.ts b/tests/unit/api/media-api.test.ts index b2826d8..1bd7811 100644 --- a/tests/unit/api/media-api.test.ts +++ b/tests/unit/api/media-api.test.ts @@ -3,8 +3,7 @@ import { Configuration } from '../../../configuration'; describe('MediaApi', () => { const config = new Configuration({ - username: BW_USERNAME, - password: BW_PASSWORD, + accessToken: 'abcd1234', basePath: 'http://127.0.0.1:4010' }); const mediaApi = new MediaApi(config); diff --git a/tests/unit/api/messages-api.test.ts b/tests/unit/api/messages-api.test.ts index 5f8e7f8..da5f7bb 100644 --- a/tests/unit/api/messages-api.test.ts +++ b/tests/unit/api/messages-api.test.ts @@ -12,8 +12,7 @@ import { describe('MessagesApi', () => { const config = new Configuration({ - username: BW_USERNAME, - password: BW_PASSWORD, + accessToken: 'abcd1234', basePath: 'http://127.0.0.1:4010' }); const messagesApi = new MessagesApi(config); diff --git a/tests/unit/api/mfaapi.test.ts b/tests/unit/api/mfaapi.test.ts index 3eed5f1..72902a4 100644 --- a/tests/unit/api/mfaapi.test.ts +++ b/tests/unit/api/mfaapi.test.ts @@ -5,8 +5,7 @@ import { CodeRequest, VerifyCodeRequest } from '../../../models'; describe('MFAApi', () => { const config = new Configuration({ - username: BW_USERNAME, - password: BW_PASSWORD, + accessToken: 'abcd1234', basePath: 'http://127.0.0.1:4010' }); const mfaApi = new MFAApi(config); diff --git a/tests/unit/api/multi-channel-api.test.ts b/tests/unit/api/multi-channel-api.test.ts index a21bc06..cb0a85a 100644 --- a/tests/unit/api/multi-channel-api.test.ts +++ b/tests/unit/api/multi-channel-api.test.ts @@ -13,8 +13,7 @@ import { describe('MultiChannelApi', () => { const config = new Configuration({ - username: BW_USERNAME, - password: BW_PASSWORD, + accessToken: 'abcd1234', basePath: 'http://127.0.0.1:4010' }); const multiChannelApi = new MultiChannelApi(config); diff --git a/tests/unit/api/phone-number-lookup-api.test.ts b/tests/unit/api/phone-number-lookup-api.test.ts index c773b92..3a678cd 100644 --- a/tests/unit/api/phone-number-lookup-api.test.ts +++ b/tests/unit/api/phone-number-lookup-api.test.ts @@ -11,8 +11,7 @@ import { describe('PhoneNumberLookupApi', () => { const config = new Configuration({ - username: BW_USERNAME, - password: BW_PASSWORD, + accessToken: 'abcd1234', basePath: 'http://127.0.0.1:4010' }); const phoneNumberLookupApi = new PhoneNumberLookupApi(config); diff --git a/tests/unit/api/recordings-api.test.ts b/tests/unit/api/recordings-api.test.ts index d819f88..e48ddba 100644 --- a/tests/unit/api/recordings-api.test.ts +++ b/tests/unit/api/recordings-api.test.ts @@ -10,8 +10,7 @@ import { describe('RecordingsApi', () => { const config = new Configuration({ - username: BW_USERNAME, - password: BW_PASSWORD, + accessToken: 'abcd1234', basePath: 'http://127.0.0.1:4010' }); const recordingsApi = new RecordingsApi(config); diff --git a/tests/unit/api/statistics-api.test.ts b/tests/unit/api/statistics-api.test.ts index 2d2631b..5989905 100644 --- a/tests/unit/api/statistics-api.test.ts +++ b/tests/unit/api/statistics-api.test.ts @@ -4,8 +4,7 @@ import { Configuration } from '../../../configuration'; describe('StatisticsApi', () => { const config = new Configuration({ - username: BW_USERNAME, - password: BW_PASSWORD, + accessToken: 'abcd1234', basePath: 'http://127.0.0.1:4010' }); const statisticsApi = new StatisticsApi(config); diff --git a/tests/unit/api/toll-free-verification-api.test.ts b/tests/unit/api/toll-free-verification-api.test.ts index d66d267..11b9a72 100644 --- a/tests/unit/api/toll-free-verification-api.test.ts +++ b/tests/unit/api/toll-free-verification-api.test.ts @@ -13,8 +13,7 @@ import { describe('TollFreeVerificationApi', () => { const config = new Configuration({ - username: BW_USERNAME, - password: BW_PASSWORD, + accessToken: 'abcd1234', basePath: 'http://127.0.0.1:4010' }); const tfvApi = new TollFreeVerificationApi(config); diff --git a/tests/unit/api/transcriptions-api.test.ts b/tests/unit/api/transcriptions-api.test.ts index ae15c3f..c46bbf7 100644 --- a/tests/unit/api/transcriptions-api.test.ts +++ b/tests/unit/api/transcriptions-api.test.ts @@ -4,8 +4,7 @@ import { CallTranscriptionDetectedLanguageEnum, CallTranscriptionTrackEnum } fro describe('TranscriptionsApi', () => { const config = new Configuration({ - username: BW_USERNAME, - password: BW_PASSWORD, + accessToken: 'abcd1234', basePath: 'http://127.0.0.1:4010' }); const transcriptionsApi = new TranscriptionsApi(config);