No description
  • Python 35.5%
  • CSS 31.5%
  • HTML 17.6%
  • JavaScript 12.6%
  • Shell 1.9%
  • Other 0.9%
Find a file
Sajeyks d433708f86 Add production HTTPS and proxy settings
- Session and CSRF cookies are secure-only unless DEBUG is on.
- TRUST_X_FORWARDED_PROTO honours X-Forwarded-Proto from a TLS
  terminating ingress. Without it, Django 4+ fails the CSRF origin
  check on every form POST.
- CSRF_TRUSTED_ORIGINS, SECURE_SSL_REDIRECT and SECURE_HSTS_SECONDS are
  configurable and off by default. HSTS for subdomains and preload are
  left to ungleich, since they affect all of *.ungleich.ch.
2026-11-06 15:27:27 +03:00
dal Add production HTTPS and proxy settings 2026-11-06 15:27:27 +03:00
dev Read all configuration in settings and document it in env.sample 2026-11-06 15:26:26 +03:00
.gitignore Compute the next uidNumber from LDAP instead of a local file 2026-11-06 15:03:57 +03:00
docker-compose.dev.yml Add local OpenLDAP 2.6 test server for development 2026-11-06 14:46:24 +03:00
Dockerfile Register add 2021-12-12 20:39:32 +01:00
env.sample Add production HTTPS and proxy settings 2026-11-06 15:27:27 +03:00
manage.py Move project files to root directory 2019-02-17 17:43:06 +01:00
README.md Register add 2021-12-12 20:39:32 +01:00
requirements.txt Upgrade to Django 6.1 on Python 3.15 2026-11-06 15:23:02 +03:00

Ungleich Account Management Webapp

This service runs on account.ungleich.ch and allows customers manage their ungleich account (register, edit mail & password, ...).

Status v2

  • See below ungleichuser/
  • register view created
  • Not solved:
    • email verification before user is created
  • Solved
    • Finding highest uid, increasing by 1

Todos for v2:

  • Rewrite/create new app Django 4.0 based (ungleichuser)
  • Do not use django-auth-ldap, because it uses python-ldap
  • Update the template HTML to bootstrap5
  • Use ldap3
  • Check/verify the ldap registration
  • Ensure multiple ldap servers are supported
  • Cleanup this readme
  • Use the following "captcha" for all forms:
    • Extra form field named "random"
    • Present the user the following text:
  • Create Dockerfile / ensure it works in kubernetes

Next steps

  • Override/use custom form to allow captcha

Development Setup

python3 -m venv venv
. ./venv/bin/activate
pip install -r requirements.txt
``

## Functionality

x Allow user to register in a specific subtree
x Verify that user does not exist in another subtree
x Assign an id
- Allow password reset [via Mail?]
- DB usage: for password reset?

## Parameters

Via environment variables:

* LDAPSERVERS=".." -- White space separated list of LDAP-Servers
* ADMIN_DN="" -- we use this DN to connect to LDAP
* ADMIN_PASSWORD="" -- we use this password to connect to LDAP
* SECRET_KEY
* DEBUG
* ALLOWED_HOSTS


## Views

### Register view

Form: [get]

* username
* password1
* password2

Post receiver: [post]

* E-Mail verification

E-Mail verify: [get]

* Create user

### Password reset view

* captcha
* username or email