Skip to content

Commit 1d05891

Browse files
authored
fix: treat invalid credential expiration as expired (#360)
1 parent e485a75 commit 1d05891

2 files changed

Lines changed: 10 additions & 1 deletion

File tree

src/library/__tests__/credentials.test.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,11 @@ describe('credentials', () => {
4444
const now = new Date();
4545
expect(areCredentialsExpired(now)).toBe(true);
4646
});
47+
48+
it('should return true for an invalid expiration value', () => {
49+
expect(areCredentialsExpired('[object Object]')).toBe(true);
50+
expect(areCredentialsExpired('')).toBe(true);
51+
});
4752
});
4853

4954
describe('getValidCredentials', () => {

src/library/credentials.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,11 @@ export interface AWSCredentials {
66
}
77

88
export function areCredentialsExpired(expiration: string | Date): boolean {
9-
return new Date(expiration).getTime() <= Date.now();
9+
const time = new Date(expiration).getTime();
10+
if (isNaN(time)) {
11+
return true;
12+
}
13+
return time <= Date.now();
1014
}
1115

1216
export async function getValidCredentials(): Promise<AWSCredentials | null> {

0 commit comments

Comments
 (0)