diff --git a/keyserver/src/creators/siwe-nonce-creator.js b/keyserver/src/creators/siwe-nonce-creator.js new file mode 100644 --- /dev/null +++ b/keyserver/src/creators/siwe-nonce-creator.js @@ -0,0 +1,14 @@ +// @flow + +import { dbQuery, SQL } from '../database/database.js'; + +async function createSIWENonceEntry(nonce: string): Promise { + const time = Date.now(); + const query = SQL` + INSERT INTO siwe_nonces(nonce, creation_time) + VALUES ${[[nonce, time]]} + `; + await dbQuery(query); +} + +export { createSIWENonceEntry }; diff --git a/keyserver/src/responders/siwe-nonce-responders.js b/keyserver/src/responders/siwe-nonce-responders.js --- a/keyserver/src/responders/siwe-nonce-responders.js +++ b/keyserver/src/responders/siwe-nonce-responders.js @@ -2,10 +2,14 @@ import { generateNonce } from 'siwe'; -import type { SIWENonceResponse } from 'lib/types/siwe-types.js'; +import type { SIWENonceResponse } from 'lib/types/siwe-types'; + +import { createSIWENonceEntry } from '../creators/siwe-nonce-creator'; async function siweNonceResponder(): Promise { - return { nonce: generateNonce() }; + const generatedNonce = generateNonce(); + await createSIWENonceEntry(generatedNonce); + return { nonce: generatedNonce }; } export { siweNonceResponder };