forked from ungleich-public/ungleich-user
No description
- Python 35.5%
- CSS 31.5%
- HTML 17.6%
- JavaScript 12.6%
- Shell 1.9%
- Other 0.9%
Restore root requirements.txt pinned to what production runs (Django 2.2, last patch 2.2.28) so the upgrade starts from a reproducible baseline. Restore logs/.keep; the logging config fails on a fresh clone without the directory. The tests drive every view over HTTP against the real test LDAP: login, registration and activation, data and password changes, password reset, account deletion, the create API and OTP seeds. Known bugs are recorded as expected failures: - password reset POST changes any user's password without a token - LDAP filter injection in reset (user='*' hits the first entry) - activation link carries the base64-encoded password - a username from ou=users can be registered again under ou=customers |
||
|---|---|---|
| dal | ||
| dev | ||
| logs | ||
| ungleichuser | ||
| .gitignore | ||
| docker-compose.dev.yml | ||
| Dockerfile | ||
| manage.py | ||
| nameko-func.py | ||
| README.md | ||
| requirements.txt | ||
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