mirror of
https://github.com/bitwarden/directory-connector
synced 2025-12-05 23:53:21 +00:00
Compare commits
18 Commits
c1aa5d989e
...
AC-1743/Sa
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9afa709e8a | ||
|
|
d01bb27533 | ||
|
|
022833f5d9 | ||
|
|
469734d79a | ||
|
|
58fa36f456 | ||
|
|
1af965dc44 | ||
|
|
5b035aa71a | ||
|
|
f5bd49e914 | ||
|
|
df63e22314 | ||
|
|
f0933598a5 | ||
|
|
877c27d58c | ||
|
|
3ae6e5ae52 | ||
|
|
f7794e92f1 | ||
|
|
1e0b217b27 | ||
|
|
c91307e82c | ||
|
|
72190ca19e | ||
|
|
c803cd832f | ||
|
|
5144f4d629 |
@@ -205,7 +205,7 @@ export class LoginCommand {
|
|||||||
selectedProvider = twoFactorProviders[0];
|
selectedProvider = twoFactorProviders[0];
|
||||||
} else if (this.canInteract) {
|
} else if (this.canInteract) {
|
||||||
const twoFactorOptions: (string | Separator)[] = twoFactorProviders.map((p) => p.name);
|
const twoFactorOptions: (string | Separator)[] = twoFactorProviders.map((p) => p.name);
|
||||||
twoFactorOptions.push(new inquirer.Separator());
|
twoFactorOptions.push(new inquirer.default.Separator());
|
||||||
twoFactorOptions.push("Cancel");
|
twoFactorOptions.push("Cancel");
|
||||||
const answer: inquirer.Answers = await inquirer.createPromptModule({
|
const answer: inquirer.Answers = await inquirer.createPromptModule({
|
||||||
output: process.stderr,
|
output: process.stderr,
|
||||||
|
|||||||
2192
package-lock.json
generated
2192
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
58
package.json
58
package.json
@@ -71,16 +71,16 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@angular-devkit/build-angular": "15.2.9",
|
"@angular-devkit/build-angular": "15.2.9",
|
||||||
"@angular-eslint/eslint-plugin-template": "17.1.1",
|
"@angular-eslint/eslint-plugin-template": "17.2.0",
|
||||||
"@angular-eslint/template-parser": "17.1.1",
|
"@angular-eslint/template-parser": "17.2.0",
|
||||||
"@angular/compiler-cli": "15.2.9",
|
"@angular/compiler-cli": "15.2.9",
|
||||||
"@angular/platform-browser-dynamic": "15.2.9",
|
"@angular/platform-browser-dynamic": "15.2.9",
|
||||||
"@fluffy-spoon/substitute": "1.208.0",
|
"@fluffy-spoon/substitute": "1.208.0",
|
||||||
"@microsoft/microsoft-graph-types": "2.38.0",
|
"@microsoft/microsoft-graph-types": "2.40.0",
|
||||||
"@ngtools/webpack": "15.2.9",
|
"@ngtools/webpack": "15.2.9",
|
||||||
"@types/inquirer": "8.2.6",
|
"@types/inquirer": "9.0.7",
|
||||||
"@types/jest": "29.5.11",
|
"@types/jest": "29.5.11",
|
||||||
"@types/ldapjs": "2.2.5",
|
"@types/ldapjs": "3.0.6",
|
||||||
"@types/lowdb": "1.0.15",
|
"@types/lowdb": "1.0.15",
|
||||||
"@types/lunr": "2.3.7",
|
"@types/lunr": "2.3.7",
|
||||||
"@types/node": "18.17.12",
|
"@types/node": "18.17.12",
|
||||||
@@ -89,53 +89,53 @@
|
|||||||
"@types/proper-lockfile": "4.1.4",
|
"@types/proper-lockfile": "4.1.4",
|
||||||
"@types/tldjs": "2.3.4",
|
"@types/tldjs": "2.3.4",
|
||||||
"@types/zxcvbn": "4.4.4",
|
"@types/zxcvbn": "4.4.4",
|
||||||
"@typescript-eslint/eslint-plugin": "5.62.0",
|
"@typescript-eslint/eslint-plugin": "6.19.1",
|
||||||
"@typescript-eslint/parser": "5.62.0",
|
"@typescript-eslint/parser": "6.19.1",
|
||||||
"clean-webpack-plugin": "4.0.0",
|
"clean-webpack-plugin": "4.0.0",
|
||||||
"commander": "7.2.0",
|
"commander": "11.1.0",
|
||||||
"concurrently": "8.2.2",
|
"concurrently": "8.2.2",
|
||||||
"copy-webpack-plugin": "11.0.0",
|
"copy-webpack-plugin": "12.0.2",
|
||||||
"cross-env": "7.0.3",
|
"cross-env": "7.0.3",
|
||||||
"css-loader": "6.8.1",
|
"css-loader": "6.9.0",
|
||||||
"dotenv": "9.0.2",
|
"dotenv": "16.3.2",
|
||||||
"electron": "18.3.15",
|
"electron": "18.3.15",
|
||||||
"electron-builder": "24.6.3",
|
"electron-builder": "24.9.1",
|
||||||
"electron-log": "4.4.8",
|
"electron-log": "4.4.8",
|
||||||
"electron-notarize": "1.2.2",
|
"electron-notarize": "1.2.2",
|
||||||
"electron-rebuild": "3.2.9",
|
"electron-rebuild": "3.2.9",
|
||||||
"electron-reload": "1.5.0",
|
"electron-reload": "1.5.0",
|
||||||
"electron-store": "8.1.0",
|
"electron-store": "8.1.0",
|
||||||
"electron-updater": "5.3.0",
|
"electron-updater": "5.3.0",
|
||||||
"eslint": "8.48.0",
|
"eslint": "8.56.0",
|
||||||
"eslint-config-prettier": "8.10.0",
|
"eslint-config-prettier": "9.1.0",
|
||||||
"eslint-import-resolver-typescript": "2.7.1",
|
"eslint-import-resolver-typescript": "3.6.1",
|
||||||
"eslint-plugin-import": "2.28.1",
|
"eslint-plugin-import": "2.29.1",
|
||||||
"eslint-plugin-rxjs": "5.0.3",
|
"eslint-plugin-rxjs": "5.0.3",
|
||||||
"eslint-plugin-rxjs-angular": "2.0.1",
|
"eslint-plugin-rxjs-angular": "2.0.1",
|
||||||
"form-data": "4.0.0",
|
"form-data": "4.0.0",
|
||||||
"html-loader": "3.1.2",
|
"html-loader": "5.0.0",
|
||||||
"html-webpack-plugin": "5.5.3",
|
"html-webpack-plugin": "5.6.0",
|
||||||
"husky": "8.0.3",
|
"husky": "8.0.3",
|
||||||
"jest": "29.6.4",
|
"jest": "29.7.0",
|
||||||
"jest-preset-angular": "13.1.1",
|
"jest-preset-angular": "14.0.0",
|
||||||
"lint-staged": "12.5.0",
|
"lint-staged": "15.2.0",
|
||||||
"mini-css-extract-plugin": "2.7.7",
|
"mini-css-extract-plugin": "2.7.7",
|
||||||
"node-forge": "1.3.1",
|
"node-forge": "1.3.1",
|
||||||
"node-loader": "2.0.0",
|
"node-loader": "2.0.0",
|
||||||
"pkg": "5.8.1",
|
"pkg": "5.8.1",
|
||||||
"prettier": "2.8.8",
|
|
||||||
"rimraf": "3.0.2",
|
"rimraf": "3.0.2",
|
||||||
|
"prettier": "3.2.2",
|
||||||
"rxjs": "7.8.1",
|
"rxjs": "7.8.1",
|
||||||
"sass": "1.66.1",
|
"sass": "1.69.7",
|
||||||
"sass-loader": "12.6.0",
|
"sass-loader": "14.0.0",
|
||||||
"ts-jest": "29.1.1",
|
"ts-jest": "29.1.1",
|
||||||
"ts-loader": "9.4.4",
|
"ts-loader": "9.5.1",
|
||||||
"tsconfig-paths-webpack-plugin": "4.1.0",
|
"tsconfig-paths-webpack-plugin": "4.1.0",
|
||||||
"typescript": "4.9.5",
|
"typescript": "4.9.5",
|
||||||
"typescript-transform-paths": "2.2.4",
|
"typescript-transform-paths": "3.4.6",
|
||||||
"webpack": "5.88.2",
|
"webpack": "5.89.0",
|
||||||
"webpack-cli": "5.1.4",
|
"webpack-cli": "5.1.4",
|
||||||
"webpack-merge": "5.9.0",
|
"webpack-merge": "5.10.0",
|
||||||
"webpack-node-externals": "3.0.0",
|
"webpack-node-externals": "3.0.0",
|
||||||
"zone.js": "0.13.1"
|
"zone.js": "0.13.1"
|
||||||
},
|
},
|
||||||
@@ -157,7 +157,7 @@
|
|||||||
"browser-hrtime": "1.1.8",
|
"browser-hrtime": "1.1.8",
|
||||||
"chalk": "4.1.2",
|
"chalk": "4.1.2",
|
||||||
"commander": "7.2.0",
|
"commander": "7.2.0",
|
||||||
"core-js": "3.32.1",
|
"core-js": "3.35.0",
|
||||||
"form-data": "4.0.0",
|
"form-data": "4.0.0",
|
||||||
"google-auth-library": "7.14.1",
|
"google-auth-library": "7.14.1",
|
||||||
"googleapis": "73.0.0",
|
"googleapis": "73.0.0",
|
||||||
|
|||||||
@@ -419,7 +419,7 @@
|
|||||||
name="AdminUser"
|
name="AdminUser"
|
||||||
[(ngModel)]="gsuite.adminUser"
|
[(ngModel)]="gsuite.adminUser"
|
||||||
/>
|
/>
|
||||||
<small class="text-muted form-text">{{ "ex" | i18n }} admin@company.com</small>
|
<small class="text-muted form-text">{{ "ex" | i18n }} admin@company.com</small>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="customerId">{{ "customerId" | i18n }}</label>
|
<label for="customerId">{{ "customerId" | i18n }}</label>
|
||||||
@@ -596,7 +596,7 @@
|
|||||||
name="EmailSuffix"
|
name="EmailSuffix"
|
||||||
[(ngModel)]="sync.emailSuffix"
|
[(ngModel)]="sync.emailSuffix"
|
||||||
/>
|
/>
|
||||||
<small class="text-muted form-text">{{ "ex" | i18n }} @company.com</small>
|
<small class="text-muted form-text">{{ "ex" | i18n }} @company.com</small>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -628,13 +628,13 @@
|
|||||||
<small
|
<small
|
||||||
class="text-muted form-text"
|
class="text-muted form-text"
|
||||||
*ngIf="directory === directoryType.AzureActiveDirectory"
|
*ngIf="directory === directoryType.AzureActiveDirectory"
|
||||||
>{{ "ex" | i18n }} exclude:joe@company.com</small
|
>{{ "ex" | i18n }} exclude:joe@company.com</small
|
||||||
>
|
>
|
||||||
<small class="text-muted form-text" *ngIf="directory === directoryType.Okta"
|
<small class="text-muted form-text" *ngIf="directory === directoryType.Okta"
|
||||||
>{{ "ex" | i18n }} exclude:joe@company.com | profile.firstName eq "John"</small
|
>{{ "ex" | i18n }} exclude:joe@company.com | profile.firstName eq "John"</small
|
||||||
>
|
>
|
||||||
<small class="text-muted form-text" *ngIf="directory === directoryType.GSuite"
|
<small class="text-muted form-text" *ngIf="directory === directoryType.GSuite"
|
||||||
>{{ "ex" | i18n }} exclude:joe@company.com | orgName=Engineering</small
|
>{{ "ex" | i18n }} exclude:joe@company.com | orgName=Engineering</small
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group" [hidden]="directory != directoryType.Ldap">
|
<div class="form-group" [hidden]="directory != directoryType.Ldap">
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import * as path from "path";
|
import * as path from "path";
|
||||||
|
|
||||||
import * as chalk from "chalk";
|
import * as chalk from "chalk";
|
||||||
import * as program from "commander";
|
import { Command, OptionValues } from "commander";
|
||||||
|
|
||||||
import { Utils } from "@/jslib/common/src/misc/utils";
|
import { Utils } from "@/jslib/common/src/misc/utils";
|
||||||
import { BaseProgram } from "@/jslib/node/src/cli/baseProgram";
|
import { BaseProgram } from "@/jslib/node/src/cli/baseProgram";
|
||||||
@@ -33,7 +33,7 @@ export class Program extends BaseProgram {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async run() {
|
async run() {
|
||||||
program
|
const program = new Command()
|
||||||
.option("--pretty", "Format output. JSON is tabbed with two spaces.")
|
.option("--pretty", "Format output. JSON is tabbed with two spaces.")
|
||||||
.option("--raw", "Return raw output instead of a descriptive message.")
|
.option("--raw", "Return raw output instead of a descriptive message.")
|
||||||
.option("--response", "Return a JSON formatted version of response output.")
|
.option("--response", "Return a JSON formatted version of response output.")
|
||||||
@@ -90,7 +90,7 @@ export class Program extends BaseProgram {
|
|||||||
clientId: "Client_id part of your organization's API key",
|
clientId: "Client_id part of your organization's API key",
|
||||||
clientSecret: "Client_secret part of your organization's API key",
|
clientSecret: "Client_secret part of your organization's API key",
|
||||||
})
|
})
|
||||||
.action(async (clientId: string, clientSecret: string, options: program.OptionValues) => {
|
.action(async (clientId: string, clientSecret: string, options: OptionValues) => {
|
||||||
await this.exitIfAuthed();
|
await this.exitIfAuthed();
|
||||||
const command = new LoginCommand(
|
const command = new LoginCommand(
|
||||||
this.main.authService,
|
this.main.authService,
|
||||||
@@ -104,7 +104,7 @@ export class Program extends BaseProgram {
|
|||||||
this.main.cryptoService,
|
this.main.cryptoService,
|
||||||
this.main.policyService,
|
this.main.policyService,
|
||||||
this.main.twoFactorService,
|
this.main.twoFactorService,
|
||||||
"connector"
|
"connector",
|
||||||
);
|
);
|
||||||
|
|
||||||
if (!Utils.isNullOrWhitespace(clientId)) {
|
if (!Utils.isNullOrWhitespace(clientId)) {
|
||||||
@@ -133,7 +133,7 @@ export class Program extends BaseProgram {
|
|||||||
const command = new LogoutCommand(
|
const command = new LogoutCommand(
|
||||||
this.main.authService,
|
this.main.authService,
|
||||||
this.main.i18nService,
|
this.main.i18nService,
|
||||||
async () => await this.main.logout()
|
async () => await this.main.logout(),
|
||||||
);
|
);
|
||||||
const response = await command.run();
|
const response = await command.run();
|
||||||
this.processResponse(response);
|
this.processResponse(response);
|
||||||
@@ -150,7 +150,7 @@ export class Program extends BaseProgram {
|
|||||||
writeLn(" bwdc test --last");
|
writeLn(" bwdc test --last");
|
||||||
writeLn("", true);
|
writeLn("", true);
|
||||||
})
|
})
|
||||||
.action(async (options: program.OptionValues) => {
|
.action(async (options: OptionValues) => {
|
||||||
await this.exitIfNotAuthed();
|
await this.exitIfNotAuthed();
|
||||||
const command = new TestCommand(this.main.syncService, this.main.i18nService);
|
const command = new TestCommand(this.main.syncService, this.main.i18nService);
|
||||||
const response = await command.run(options);
|
const response = await command.run(options);
|
||||||
@@ -223,11 +223,11 @@ export class Program extends BaseProgram {
|
|||||||
writeLn(" bwdc config onelogin.secret <secret>");
|
writeLn(" bwdc config onelogin.secret <secret>");
|
||||||
writeLn("", true);
|
writeLn("", true);
|
||||||
})
|
})
|
||||||
.action(async (setting: string, value: string, options: program.OptionValues) => {
|
.action(async (setting: string, value: string, options: OptionValues) => {
|
||||||
const command = new ConfigCommand(
|
const command = new ConfigCommand(
|
||||||
this.main.environmentService,
|
this.main.environmentService,
|
||||||
this.main.i18nService,
|
this.main.i18nService,
|
||||||
this.main.stateService
|
this.main.stateService,
|
||||||
);
|
);
|
||||||
const response = await command.run(setting, value, options);
|
const response = await command.run(setting, value, options);
|
||||||
this.processResponse(response);
|
this.processResponse(response);
|
||||||
@@ -244,7 +244,7 @@ export class Program extends BaseProgram {
|
|||||||
})
|
})
|
||||||
.action(() => {
|
.action(() => {
|
||||||
this.processResponse(
|
this.processResponse(
|
||||||
Response.success(new StringResponse(path.join(this.main.dataFilePath, "data.json")))
|
Response.success(new StringResponse(path.join(this.main.dataFilePath, "data.json"))),
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -257,7 +257,7 @@ export class Program extends BaseProgram {
|
|||||||
writeLn(" bwdc clear-cache");
|
writeLn(" bwdc clear-cache");
|
||||||
writeLn("", true);
|
writeLn("", true);
|
||||||
})
|
})
|
||||||
.action(async (options: program.OptionValues) => {
|
.action(async (options: OptionValues) => {
|
||||||
const command = new ClearCacheCommand(this.main.i18nService, this.main.stateService);
|
const command = new ClearCacheCommand(this.main.i18nService, this.main.stateService);
|
||||||
const response = await command.run(options);
|
const response = await command.run(options);
|
||||||
this.processResponse(response);
|
this.processResponse(response);
|
||||||
@@ -285,7 +285,7 @@ export class Program extends BaseProgram {
|
|||||||
this.main.i18nService,
|
this.main.i18nService,
|
||||||
"directory-connector",
|
"directory-connector",
|
||||||
"bwdc",
|
"bwdc",
|
||||||
false
|
false,
|
||||||
);
|
);
|
||||||
const response = await command.run();
|
const response = await command.run();
|
||||||
this.processResponse(response);
|
this.processResponse(response);
|
||||||
@@ -305,7 +305,7 @@ export class Program extends BaseProgram {
|
|||||||
const id = await this.stateService.getEntityId();
|
const id = await this.stateService.getEntityId();
|
||||||
this.processResponse(
|
this.processResponse(
|
||||||
Response.error("You are already logged in as " + type + "." + id + "."),
|
Response.error("You are already logged in as " + type + "." + id + "."),
|
||||||
true
|
true,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user