Skip to content
docgalaxyblock edited this page Mar 10, 2024 · 4 revisions

Development setup to test SSO

SSO support for Vaultwarden is currently in development. The following describes a docker-compose based setup for locally testing these changes.

Warning

ONLY USE FOR TESTING SSO, SETUP IS INSECURE

Setup

  • Checkout the SSO branch
  • Create docker-compose.yml with the following contents:
services:
  vaultwarden:
    build: .
    environment:
      DOMAIN: "http://localhost:8000"
      I_REALLY_WANT_VOLATILE_STORAGE: "true"
      SSO_ENABLED: "true"
      SSO_CLIENT_ID: "client"
      SSO_CLIENT_SECRET: "clientsecret"
      SSO_AUTHORITY: "http://auth.test:8080/mock"
    ports:
      - 127.0.0.1:8000:80

  mock-oauth2:
    image: ghcr.io/navikt/mock-oauth2-server:0.5.10
    hostname: "auth.test"
    ports:
      - 127.0.0.1:8080:8080
  • Add auth.test to your systems host file: echo "127.0.0.1 auth.test" | sudo tee -a /etc/hosts
  • Build vaultwarden: docker compose build

Testing

  • Start the services: docker compose up
  • Go to http://localhost:8000/#/sso, enter any string as identifier, click "Log in".
  • On the Mock Auth2 Server Sign-in-Page, enter any string for user/subject and add the email you want to test in the claims field like so: {"email": "user@example.com"}
  • If everything went according to plan, you will be asked for a master password.

FAQs

  1. FAQs
  2. Audits

Container Image Usage

  1. Which container image to use
  2. Starting a container
  3. Updating the vaultwarden image
  4. Using Docker Compose
  5. Using Podman

Deployment

  1. Building your own docker image
  2. Building binary
  3. Pre-built binaries
  4. Third-party packages
  5. Deployment examples
  6. Proxy examples
  7. Logrotate example

HTTPS

  1. Enabling HTTPS
  2. Running a private vaultwarden instance with Let's Encrypt certs

Configuration

  1. Overview
  2. Disable registration of new users
  3. Disable invitations
  4. Enabling admin page
  5. Disable the admin token
  6. Enabling WebSocket notifications
  7. Enabling Mobile Client push notification
  8. Enabling U2F and FIDO2 WebAuthn authentication
  9. Enabling YubiKey OTP authentication
  10. Changing persistent data location
  11. Changing the API request size limit
  12. Changing the number of workers
  13. SMTP configuration
  14. Password hint display
  15. Disabling or overriding the Vault interface hosting
  16. Logging
  17. Creating a systemd service
  18. Syncing users from LDAP
  19. Using an alternate base dir (subdir/subpath)
  20. Other configuration

Database

  1. Using the MariaDB (MySQL) Backend
  2. Using the PostgreSQL Backend
  3. Running without WAL enabled
  4. Migrating from MariaDB (MySQL) to SQLite

Security

  1. Hardening Guide
  2. Fail2Ban Setup
  3. Fail2Ban + ModSecurity + Traefik + Docker

Other

  1. Translating the email templates
  2. Translating admin page
  3. Customize Vaultwarden CSS

Backup

  1. General (not docker)

Other Information

  1. Importing data from Keepass or KeepassX
  2. Backing up your vault
  3. Differences from the upstream API implementation
  4. Supporting upstream development
  5. Caddy 2.x with Cloudflare DNS
  6. Git hooks
Clone this wiki locally