From 864a673ea0a6c2dcbe290e296ede7a217019f179 Mon Sep 17 00:00:00 2001 From: Dave Horton Date: Wed, 29 Nov 2023 13:34:17 -0500 Subject: [PATCH] get an aws security token for STT --- lib/tasks/stt-task.js | 9 ++++++++- lib/utils/install-srf-locals.js | 2 ++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/tasks/stt-task.js b/lib/tasks/stt-task.js index 24d6b0c5..29c96947 100644 --- a/lib/tasks/stt-task.js +++ b/lib/tasks/stt-task.js @@ -53,7 +53,7 @@ class SttTask extends Task { } async _initSpeechCredentials(cs, vendor, label) { - const {getNuanceAccessToken, getIbmAccessToken} = this.cs.srf.locals.dbHelpers; + const {getNuanceAccessToken, getIbmAccessToken, getAwsAuthToken} = this.cs.srf.locals.dbHelpers; let credentials = cs.getSpeechCredentials(vendor, 'stt', label); if (!credentials) { @@ -87,6 +87,13 @@ class SttTask extends Task { this.logger.debug({stt_api_key}, `got ibm access token ${servedFromCache ? 'from cache' : ''}`); credentials = {...credentials, access_token, stt_region}; } + else if (vendor == 'aws') { + /* get AWS access token */ + const {accessKeyId, secretAccessKey, region } = credentials; + const { servedFromCache, ...newCredentials} = await getAwsAuthToken(accessKeyId, secretAccessKey, region); + this.logger.debug({newCredentials}, `got aws security token ${servedFromCache ? 'from cache' : ''}`); + credentials = newCredentials; + } return credentials; } diff --git a/lib/utils/install-srf-locals.js b/lib/utils/install-srf-locals.js index 5ffb6c21..31cabb36 100644 --- a/lib/utils/install-srf-locals.js +++ b/lib/utils/install-srf-locals.js @@ -178,6 +178,7 @@ function installSrfLocals(srf, logger) { synthAudio, getNuanceAccessToken, getIbmAccessToken, + getAwsAuthToken } = require('@jambonz/speech-utils')({redis_client: client}, logger); const { writeAlerts, @@ -231,6 +232,7 @@ function installSrfLocals(srf, logger) { getListPosition, getNuanceAccessToken, getIbmAccessToken, + getAwsAuthToken, addToSortedSet, retrieveFromSortedSet, retrieveByPatternSortedSet,