diff --git a/keyserver/src/creators/siwe-nonce-creator.js b/keyserver/src/creators/siwe-nonce-creator.js new file mode 100644 index 000000000..0bdcb87d2 --- /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 index 94524cc42..2f5af4506 100644 --- a/keyserver/src/responders/siwe-nonce-responders.js +++ b/keyserver/src/responders/siwe-nonce-responders.js @@ -1,11 +1,15 @@ // @flow 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 };