mirror of
https://github.com/jambonz/speech-utils.git
synced 2025-12-19 03:37:49 +00:00
Merge pull request #81 from jambonz/feat/gh_fs_832
allow configure STS session expiry
This commit is contained in:
@@ -1,7 +1,9 @@
|
|||||||
const { STSClient, GetSessionTokenCommand, AssumeRoleCommand } = require('@aws-sdk/client-sts');
|
const { STSClient, GetSessionTokenCommand, AssumeRoleCommand } = require('@aws-sdk/client-sts');
|
||||||
const {makeAwsKey, noopLogger} = require('./utils');
|
const {makeAwsKey, noopLogger} = require('./utils');
|
||||||
const debug = require('debug')('jambonz:speech-utils');
|
const debug = require('debug')('jambonz:speech-utils');
|
||||||
const EXPIRY = 3600;
|
const EXPIRY = process.env.AWS_STS_SESSION_DURATION || 3600;
|
||||||
|
// by default reset aws session before expiry time 10 mins
|
||||||
|
const CACHE_EXPIRY = process.env.AWS_STS_SESSION_RESET_EXPIRY || (EXPIRY - 600);
|
||||||
|
|
||||||
async function getAwsAuthToken(
|
async function getAwsAuthToken(
|
||||||
logger, createHash, retrieveHash,
|
logger, createHash, retrieveHash,
|
||||||
@@ -39,8 +41,7 @@ async function getAwsAuthToken(
|
|||||||
securityToken: data.Credentials.SessionToken
|
securityToken: data.Credentials.SessionToken
|
||||||
};
|
};
|
||||||
|
|
||||||
/* expire 10 minutes before the hour, so we don't lose the use of it during a call */
|
createHash(key, credentials, CACHE_EXPIRY)
|
||||||
createHash(key, credentials, EXPIRY - 600)
|
|
||||||
.catch((err) => logger.error(err, `Error saving hash for key ${key}`));
|
.catch((err) => logger.error(err, `Error saving hash for key ${key}`));
|
||||||
|
|
||||||
return {...credentials, servedFromCache: false};
|
return {...credentials, servedFromCache: false};
|
||||||
|
|||||||
Reference in New Issue
Block a user