Giter Site home page Giter Site logo

vaultwarden_ldap_sync's Introduction

Vaultwarden LDAP sync adapter

This python library is a lightweight alternative to the official Bitwarden Directory Connector aiming to be less "clunkly" than the vaultwarden_ldap (written in Rust) implementation.

Specifically, it invites unseen LDAP users (according to filter) and disables users which vanished from LDAP while even surviving a user initiated change of the email address in Vaultwarden. Furthermore, its simple architecture should allow for easy integration of other email sources.

Configuration

In general, this libray is configured using environment variables and supports .env files. See .env.dist for a comprehensive list of configuration options.

Usage

Configure the .env file according your needs and run docker-compose up -d.

Development

  • Install os requirements: apt install libldap2-dev libsasl2-dev python3-dev python3-venv
  • Then, after repo checkout:
cd vaultwarden_ldap_sync

# Create venv
python3 -m venv venv

# Activate venv
source venv/bin/activate

# Install requirements
pip install -r requirements.txt

# Run tests
python3 -m unittest discover -s tests/

Contributions and feedback welcome

vaultwarden_ldap_sync's People

Contributors

sirtoobii avatar skilleton819 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

vaultwarden_ldap_sync's Issues

self-signed certificate is not supported?

hi, I'm deploying a test environment and I wanted to use a self-signed certificate.
I get the error:
ERROR [sync.py] Something went wrong. Error: HTTPSConnectionPool(host='192.168.0.30', port=443): Max retries exceeded with url: /admin/users (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate (_ssl.c:1123)')))

Sorry I was inattentive, the answer is below.

Error: no such column: invite_email

hi аirst of all, I wanted to say thank you for LDAP connector. I am getting an error, maybe you could help me out?
Database used sqlite
ERROR [sync.py] Something went wrong. Error: no such column: invite_email

SSL certificate from own CA

Hey

I receive an error when starting docker with the following message:

2023-11-03:16:51:48 ERROR [sync.py] Something went wrong. Error: HTTPSConnectionPool(host='xx.domain.loc', port=443): Max retries exceeded with url: /admin/users (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1123)')))

We have our own internal CA and need to provide the root certificate to the docker I think.
Can this be done in you project?

BR Marcel

organizationId & organizationUserId empty in invitation mail

When receiving the invitation mail the organizationId & organizationUserId parameters are empty. I think this is because there is no way to configure the organization, right? If so, would it be possible to add a default org to the .env-file or is this not intended?
The "Invitation organization name" in the admin panel is set.

https://vw.xxx.xxx/#/accept-organization/?organizationId=**_**&organizationUserId=**_**&email=helpdesk%40xxx%2Ech&organizationName=xxx%20xxx

BR Marcel

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.