mirror of
https://github.com/bitwarden/browser.git
synced 2024-11-14 10:26:19 +01:00
Fix totp import on Dashlane csv importer (#11747)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
This commit is contained in:
parent
88cbee9b0a
commit
913f109ffa
@ -2,6 +2,7 @@ import { CipherType } from "@bitwarden/common/vault/enums";
|
||||
|
||||
import { DashlaneCsvImporter } from "../src/importers";
|
||||
|
||||
import { credentialsData_otpUrl } from "./test-data/dashlane-csv/credentials-otpurl.csv";
|
||||
import { credentialsData } from "./test-data/dashlane-csv/credentials.csv";
|
||||
import { identityData } from "./test-data/dashlane-csv/id.csv";
|
||||
import { multiplePersonalInfoData } from "./test-data/dashlane-csv/multiple-personal-info.csv";
|
||||
@ -30,6 +31,14 @@ describe("Dashlane CSV Importer", () => {
|
||||
expect(cipher.notes).toEqual("some note for example.com");
|
||||
});
|
||||
|
||||
it("should parse login with totp when given otpUrl instead of otpSecret", async () => {
|
||||
const result = await importer.parse(credentialsData_otpUrl);
|
||||
expect(result != null).toBe(true);
|
||||
|
||||
const cipher = result.ciphers.shift();
|
||||
expect(cipher.login.totp).toEqual("anotherTOTPSeed");
|
||||
});
|
||||
|
||||
it("should parse an item and create a folder", async () => {
|
||||
const result = await importer.parse(credentialsData);
|
||||
|
||||
|
@ -0,0 +1,2 @@
|
||||
export const credentialsData_otpUrl = `username,username2,username3,title,password,note,url,category,otpUrl
|
||||
jdoe,,,example.com,somePassword,some note for example.com,https://www.example.com,Entertainment,anotherTOTPSeed`;
|
@ -119,7 +119,7 @@ export class DashlaneCsvImporter extends BaseImporter implements Importer {
|
||||
cipher.notes = row.note;
|
||||
cipher.login.username = row.username;
|
||||
cipher.login.password = row.password;
|
||||
cipher.login.totp = row.otpSecret;
|
||||
cipher.login.totp = Object.keys(row).includes("otpUrl") ? row.otpUrl : row.otpSecret;
|
||||
cipher.login.uris = this.makeUriArray(row.url);
|
||||
|
||||
this.importUnmappedFields(cipher, row, _mappedCredentialsColumns);
|
||||
|
@ -8,7 +8,8 @@ export class CredentialsRecord {
|
||||
note: string;
|
||||
url: string;
|
||||
category: string;
|
||||
otpSecret: string;
|
||||
otpSecret?: string;
|
||||
otpUrl?: string; // Likely introduced by Dashlane as a replacement for `otpSecret`
|
||||
}
|
||||
|
||||
export class PaymentsRecord {
|
||||
|
Loading…
Reference in New Issue
Block a user