No description
dal | ||
logs | ||
ungleichuser | ||
.gitignore | ||
Dockerfile | ||
manage.py | ||
nameko-func.py | ||
README.md | ||
requirements-os.txt | ||
requirements.txt |
Ungleich Account Management Webapp
This service runs on account.ungleich.ch and allows customers manage their ungleich account (register, edit mail & password, ...).
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
``
* Clone this repository and enter top-level directory.
* (Optional) Setup a Python virtualenv and install dependencies via pip:
- `virtualenv .venv`
- `source .venv/bin/activate`
- `pip install -r requirements.txt`
- Note: you might have to install some OS dependencies (i.e. libldap2, libsasl).
* Configure the `dal` django app (uses the [decouple](https://pypi.org/project/python-decouple/) library underneath)
- Copy `dal/env.sample` to `dal/.env`
- Populate `dal/.env`
## Functionality
- Allow user to register in a specific subtree
- Verify that user does not exist in another subtree
- Assign an id
- Allow password reset via Mail
- DB usage: for password reset?
## Parameters
LDAPSERVER
## Steps / Views
### Register view
Form: [get]
* captcha?
* username
* password1
* password2
Post receiver: [post]
* Validation / check if human
* E-Mail verification
E-Mail verify: [get]
* Create user
### Password reset view
* captcha
* username
## Tech notes
### django-auth-ldap
Depends on python-ldap, which fails on Alpine at the moment:
* https://django-auth-ldap.readthedocs.io/en/latest/