mirror of
https://github.com/bitwarden/browser
synced 2025-12-06 00:13:28 +00:00
* refactor: update clientType enum * refactor: update deviceType filename * refactor: update encryptedExportType filename * refactor: update encryptionType filename * refactor: update eventType filename * refactor: update fieldType filename * refactor: update fileUploadType filename * refactor: update hashPurpose filename * refactor: update htmlStorageLocation filename * refactor: update kdfType filename * refactor: update keySuffixOptions filename * refactor: update linkedIdType filename * refactor: update logLevelType filename * refactor: update nativeMessagingVersion filename * refactor: update notificationType filename * refactor: update productType filename * refactor: update secureNoteType filename * refactor: update stateVersion filename * refactor: update storageLocation filename * refactor: update themeType filename * refactor: update uriMatchType filename * fix: update kdfType classes missed in initial pass, refs AC-1266 * fix: missing import update for device-type * refactor: add barrel file for enums and update pathed import statements, refs AC-1266 * fix: incorrect import statements for web, refs AC-1266 * fix: missed import statement updates (browser), refs AC-1266 * fix: missed import statement changes (cli), refs AC-1266 * fix: missed import statement changes (desktop), refs AC-1266 * fix: prettier, refs AC-1266 * refactor: (libs) update relative paths to use barrel file, refs AC-1266 * fix: missed find/replace import statements for SecureNoteType, refs AC-1266 * refactor: apply .enum suffix to enums folder and modify leftover relative paths, refs AC-1266 * fix: find/replace errors for native-messaging-version, refs AC-1266
67 lines
2.2 KiB
TypeScript
67 lines
2.2 KiB
TypeScript
import "module-alias/register";
|
|
|
|
import yargs from "yargs";
|
|
import { hideBin } from "yargs/helpers";
|
|
|
|
import { NativeMessagingVersion } from "@bitwarden/common/enums";
|
|
|
|
import { CredentialCreatePayload } from "../../../src/models/native-messaging/encrypted-message-payloads/credential-create-payload";
|
|
import { LogUtils } from "../log-utils";
|
|
import NativeMessageService from "../native-message.service";
|
|
import * as config from "../variables";
|
|
|
|
const argv: any = yargs(hideBin(process.argv)).option("name", {
|
|
alias: "n",
|
|
demand: true,
|
|
describe: "Name that the created login will be given",
|
|
type: "string",
|
|
}).argv;
|
|
|
|
const { name } = argv;
|
|
|
|
(async () => {
|
|
const nativeMessageService = new NativeMessageService(NativeMessagingVersion.One);
|
|
// Handshake
|
|
LogUtils.logInfo("Sending Handshake");
|
|
const handshakeResponse = await nativeMessageService.sendHandshake(
|
|
config.testRsaPublicKey,
|
|
config.applicationName
|
|
);
|
|
|
|
if (!handshakeResponse.status) {
|
|
LogUtils.logError(" Handshake failed. Error was: " + handshakeResponse.error);
|
|
nativeMessageService.disconnect();
|
|
return;
|
|
}
|
|
|
|
// Get active account userId
|
|
const status = await nativeMessageService.checkStatus(handshakeResponse.sharedKey);
|
|
|
|
const activeUser = status.payload.filter((a) => a.active === true && a.status === "unlocked")[0];
|
|
if (activeUser === undefined) {
|
|
LogUtils.logError("No active or unlocked user");
|
|
}
|
|
LogUtils.logInfo("Active userId: " + activeUser.id);
|
|
|
|
LogUtils.logSuccess("Handshake success response");
|
|
const response = await nativeMessageService.credentialCreation(handshakeResponse.sharedKey, {
|
|
name: name,
|
|
userName: "SuperAwesomeUser",
|
|
password: "dolhpin",
|
|
uri: "google.com",
|
|
userId: activeUser.id,
|
|
} as CredentialCreatePayload);
|
|
|
|
if (response.payload.status === "failure") {
|
|
LogUtils.logError("Failure response returned ");
|
|
} else if (response.payload.status === "success") {
|
|
LogUtils.logSuccess("Success response returned ");
|
|
} else if (response.payload.error === "locked") {
|
|
LogUtils.logError("Error: vault is locked");
|
|
} else {
|
|
LogUtils.logWarning("Other response: ", response);
|
|
}
|
|
|
|
nativeMessageService.disconnect();
|
|
})();
|