directory connector

A tool for syncing a directory (AD, LDAP, Azure, G Suite, Okta) to an organization.

146
58
TypeScript

Build
Join the chat at https://gitter.im/bitwarden/Lobby

Bitwarden Directory Connector

The Bitwarden Directory Connector is a a desktop application used to sync your Bitwarden enterprise organization to an existing directory of users and groups.

Supported directories:

  • Active Directory
  • Any other LDAP-based directory
  • Azure Active Directory
  • G Suite (Google)
  • Okta

The application is written using Electron with Angular and installs on Windows, macOS, and Linux distributions.

Platforms

Directory Connector

Command-line Interface

A command-line interface tool is also available for the Bitwarden Directory Connector. The Directory Connector CLI (bwdc) is written with TypeScript and Node.js and can also be run on Windows, macOS, and Linux distributions.

CLI Documentation

The Bitwarden Directory Connector CLI is self-documented with --help content and examples for every command. You should start exploring the CLI by using the global --help option:

bwdc --help

This option will list all available commands that you can use with the Directory Connector CLI.

Additionally, you can run the --help option on a specific command to learn more about it:

bwdc test --help
bwdc config --help

Detailed Documentation

We provide detailed documentation and examples for using the Directory Connector CLI in our help center at https://bitwarden.com/help/directory-sync-cli/.

Build/Run

Requirements

  • Node.js v18 (LTS)
  • Windows users: To compile the native node modules used in the app you will need the Visual C++ toolset, available through the standard Visual Studio installer (recommended) or by installing windows-build-tools through npm. See more at Compiling native Addon modules.

Run the app

npm install
npm run reset # Only necessary if you have previously run the CLI app
npm run rebuild
npm run electron

Run the CLI

npm install
npm run reset # Only necessary if you have previously run the desktop app
npm run build:cli:watch

You can then run commands from the ./build-cli folder:

node ./build-cli/bwdc.js --help

We’re Hiring!

Interested in contributing in a big way? Consider joining our team! We’re hiring for many positions. Please take a look at our Careers page to see what opportunities are currently open as well as what it’s like to work at Bitwarden.

Contribute

Code contributions are welcome! Please commit any pull requests against the master branch. Learn more about how to contribute by reading the CONTRIBUTING.md file.

Security audits and feedback are welcome. Please open an issue or email us privately if the report is sensitive in nature. You can read our security policy in the SECURITY.md file.

Prettier

We recently migrated to using Prettier as code formatter. All previous branches will need to updated to avoid large merge conflicts using the following steps:

  1. Check out your local Branch
  2. Run git merge 225073aa335d33ad905877b68336a9288e89ea10
  3. Resolve any merge conflicts, commit.
  4. Run npm run prettier
  5. Commit
  6. Run git merge -Xours 096196fcd512944d1c3d9c007647a1319b032639
  7. Push

Git blame

We also recommend that you configure git to ignore the prettier revision using:

git config blame.ignoreRevsFile .git-blame-ignore-revs