Prettier fix
This commit is contained in:
@@ -16,7 +16,7 @@
|
||||
|
||||
import Knex from 'knex';
|
||||
import { DatabaseKeyStore } from './DatabaseKeyStore';
|
||||
import { DateTime } from 'luxon'
|
||||
import { DateTime } from 'luxon';
|
||||
|
||||
function createDB() {
|
||||
const knex = Knex({
|
||||
@@ -52,7 +52,9 @@ describe('DatabaseKeyStore', () => {
|
||||
const { items } = await store.listKeys();
|
||||
expect(items).toEqual([{ createdAt: expect.anything(), key }]);
|
||||
expect(
|
||||
Math.abs(DateTime.fromJSDate(items[0].createdAt).diffNow('seconds').seconds),
|
||||
Math.abs(
|
||||
DateTime.fromJSDate(items[0].createdAt).diffNow('seconds').seconds,
|
||||
),
|
||||
).toBeLessThan(10);
|
||||
});
|
||||
|
||||
|
||||
@@ -77,7 +77,10 @@ export class DatabaseKeyStore implements KeyStore {
|
||||
}
|
||||
|
||||
const parseDate = (date: string | Date) => {
|
||||
const parsedDate = typeof date === 'string' ? DateTime.fromSQL(date, {locale: 'UTC'}) : DateTime.fromJSDate(date)
|
||||
const parsedDate =
|
||||
typeof date === 'string'
|
||||
? DateTime.fromSQL(date, { locale: 'UTC' })
|
||||
: DateTime.fromJSDate(date);
|
||||
|
||||
if (!parsedDate.isValid) {
|
||||
throw new Error(
|
||||
@@ -85,5 +88,5 @@ const parseDate = (date: string | Date) => {
|
||||
);
|
||||
}
|
||||
|
||||
return parsedDate.toJSDate()
|
||||
}
|
||||
return parsedDate.toJSDate();
|
||||
};
|
||||
|
||||
@@ -18,10 +18,7 @@ import { KeyStore, AnyJWK, StoredKey } from './types';
|
||||
import { DateTime } from 'luxon';
|
||||
|
||||
export class MemoryKeyStore implements KeyStore {
|
||||
private readonly keys = new Map<
|
||||
string,
|
||||
{ createdAt: Date; key: string }
|
||||
>();
|
||||
private readonly keys = new Map<string, { createdAt: Date; key: string }>();
|
||||
|
||||
async addKey(key: AnyJWK): Promise<void> {
|
||||
this.keys.set(key.kid, {
|
||||
|
||||
@@ -119,16 +119,21 @@ export class TokenFactory implements TokenIssuer {
|
||||
private async getKey(): Promise<JSONWebKey> {
|
||||
// Make sure that we only generate one key at a time
|
||||
if (this.privateKeyPromise) {
|
||||
if (this.keyExpiry && DateTime.fromJSDate(this.keyExpiry) > DateTime.local()) {
|
||||
if (
|
||||
this.keyExpiry &&
|
||||
DateTime.fromJSDate(this.keyExpiry) > DateTime.local()
|
||||
) {
|
||||
return this.privateKeyPromise;
|
||||
}
|
||||
this.logger.info(`Signing key has expired, generating new key`);
|
||||
delete this.privateKeyPromise;
|
||||
}
|
||||
|
||||
this.keyExpiry = DateTime.utc().plus({
|
||||
seconds: this.keyDurationSeconds,
|
||||
}).toJSDate();
|
||||
this.keyExpiry = DateTime.utc()
|
||||
.plus({
|
||||
seconds: this.keyDurationSeconds,
|
||||
})
|
||||
.toJSDate();
|
||||
const promise = (async () => {
|
||||
// This generates a new signing key to be used to sign tokens until the next key rotation
|
||||
const key = await JWK.generate('EC', 'P-256', {
|
||||
|
||||
Reference in New Issue
Block a user