moved save logic inside generateAndSaveIntermediateKeyAttributes

This commit is contained in:
Abhinav-grd 2021-05-23 20:23:11 +05:30
parent 4bc152f354
commit 90659cca58
4 changed files with 22 additions and 28 deletions

View file

@ -7,7 +7,7 @@ import { useRouter } from 'next/router';
import { KeyAttributes } from 'types';
import { SESSION_KEYS, getKey } from 'utils/storage/sessionStorage';
import CryptoWorker, {
generateIntermediateKeyAttributes,
generateAndSaveIntermediateKeyAttributes,
setSessionKeys,
} from 'utils/crypto';
import { logoutUser } from 'services/userService';
@ -53,13 +53,11 @@ export default function Credentials() {
kek
);
if (isFirstLogin()) {
const intermediateKeyAttributes =
await generateIntermediateKeyAttributes(
passphrase,
keyAttributes,
key
);
setData(LS_KEYS.KEY_ATTRIBUTES, intermediateKeyAttributes);
await generateAndSaveIntermediateKeyAttributes(
passphrase,
keyAttributes,
key
);
}
setSessionKeys(key);
router.push('/gallery');

View file

@ -6,7 +6,7 @@ import { useRouter } from 'next/router';
import { getKey, SESSION_KEYS } from 'utils/storage/sessionStorage';
import {
setSessionKeys,
generateIntermediateKeyAttributes,
generateAndSaveIntermediateKeyAttributes,
generateKeyAttributes,
} from 'utils/crypto';
import SetPasswordForm from 'components/SetPasswordForm';
@ -62,14 +62,11 @@ export default function Generate(props) {
);
await putAttributes(token, keyAttributes);
const intermediateKeyAttribute =
await generateIntermediateKeyAttributes(
passphrase,
keyAttributes,
masterKey
);
setData(LS_KEYS.KEY_ATTRIBUTES, intermediateKeyAttribute);
await generateAndSaveIntermediateKeyAttributes(
passphrase,
keyAttributes,
masterKey
);
await setSessionKeys(masterKey);
setJustSignedUp(true);
setRecoveryModalView(true);

View file

@ -12,7 +12,7 @@ import { setData, LS_KEYS, getData } from 'utils/storage/localStorage';
import SubmitButton from 'components/SubmitButton';
import { Button } from 'react-bootstrap';
import {
generateIntermediateKeyAttributes,
generateAndSaveIntermediateKeyAttributes,
generateKeyAttributes,
setSessionKeys,
} from 'utils/crypto';
@ -52,13 +52,11 @@ export default function SignUp() {
const { keyAttributes, masterKey } =
await generateKeyAttributes(passphrase);
setData(LS_KEYS.ORIGINAL_KEY_ATTRIBUTES, keyAttributes);
const intermediateKeyAttribute =
await generateIntermediateKeyAttributes(
passphrase,
keyAttributes,
masterKey
);
setData(LS_KEYS.KEY_ATTRIBUTES, intermediateKeyAttribute);
await generateAndSaveIntermediateKeyAttributes(
passphrase,
keyAttributes,
masterKey
);
await setSessionKeys(masterKey);
setJustSignedUp(true);

View file

@ -56,7 +56,7 @@ export async function generateKeyAttributes(
return { keyAttributes, masterKey };
}
export async function generateIntermediateKeyAttributes(
export async function generateAndSaveIntermediateKeyAttributes(
passphrase,
existingKeyAttributes,
key
@ -71,14 +71,15 @@ export async function generateIntermediateKeyAttributes(
const encryptedKeyAttributes: B64EncryptionResult =
await cryptoWorker.encryptToB64(key, intermediateKek.key);
const intermediateKekAttributes = Object.assign(existingKeyAttributes, {
const intermediateKeyAttributes = Object.assign(existingKeyAttributes, {
kekSalt: intermediateKekSalt,
encryptedKey: encryptedKeyAttributes.encryptedData,
keyDecryptionNonce: encryptedKeyAttributes.nonce,
opsLimit: intermediateKek.opsLimit,
memLimit: intermediateKek.memLimit,
});
return intermediateKekAttributes;
setData(LS_KEYS.KEY_ATTRIBUTES, intermediateKeyAttributes);
return intermediateKeyAttributes;
}
export const setSessionKeys = async (key: string) => {