diff --git a/src/AwsTranscribe.ts b/src/AwsTranscribe.ts index 6779654..09f8d8c 100644 --- a/src/AwsTranscribe.ts +++ b/src/AwsTranscribe.ts @@ -7,11 +7,13 @@ import { StreamingClient } from "./StreamingClient" export class AwsTranscribe { private accessKeyId!: string private secretAccessKey!: string + private sessionToken: string | undefined constructor(config?: ClientConfig) { // get from environment if config not provided this.setAccessKeyId(config?.accessKeyId || process.env.AWS_ACCESS_KEY_ID) this.setSecretAccessKey(config?.secretAccessKey || process.env.AWS_SECRET_ACCESS_KEY) + this.setSessionToken(config?.sessionToken || process.env.AWS_SESSION_TOKEN) } private createPreSignedUrl(config: TranscribeStreamConfig) { @@ -27,6 +29,7 @@ export class AwsTranscribe { { key: this.accessKeyId, secret: this.secretAccessKey, + sessionToken: this.sessionToken, protocol: "wss", expires: 15, region: region, @@ -51,4 +54,8 @@ export class AwsTranscribe { this.secretAccessKey = secretAccessKey } } + + setSessionToken(sessionToken: string | undefined) { + this.sessionToken = sessionToken + } } diff --git a/src/types.ts b/src/types.ts index 1d0cba1..0911a82 100644 --- a/src/types.ts +++ b/src/types.ts @@ -21,6 +21,7 @@ export type LANGUAGES = "en-US" | "en-AU" | "en-GB" | "fr-CA" | "fr-FR" | "es-US export interface ClientConfig { accessKeyId?: string secretAccessKey?: string + sessionToken?: string } export interface TranscribeStreamConfig {