Commit Graph

155 Commits

Author SHA1 Message Date
Jens L 4915205678
WIP Use Flows for Sources and Providers (#32)
* core: start migrating to flows for authorisation

* sources/oauth: start type-hinting

* core: create default user

* core: only show user delete button if an unenrollment flow exists

* flows: Correctly check initial policies on flow with context

* policies: add more verbosity to engine

* sources/oauth: migrate to flows

* sources/oauth: fix typing errors

* flows: add more tests

* sources/oauth: start implementing unittests

* sources/ldap: add option to disable user sync, move connection init to model

* sources/ldap: re-add default PropertyMappings

* providers/saml: re-add default PropertyMappings

* admin: fix missing stage count

* stages/identification: fix sources not being shown

* crypto: fix being unable to save with private key

* crypto: re-add default self-signed keypair

* policies: rewrite cache_key to prevent wrong cache

* sources/saml: migrate to flows for auth and enrollment

* stages/consent: add new stage

* admin: fix PropertyMapping widget not rendering properly

* core: provider.authorization_flow is mandatory

* flows: add support for "autosubmit" attribute on form

* flows: add InMemoryStage for dynamic stages

* flows: optionally allow empty flows from FlowPlanner

* providers/saml: update to authorization_flow

* sources/*: fix flow executor URL

* flows: fix pylint error

* flows: wrap responses in JSON object to easily handle redirects

* flow: dont cache plan's context

* providers/oauth: rewrite OAuth2 Provider to use flows

* providers/*: update docstrings of models

* core: fix forms not passing help_text through safe

* flows: fix HttpResponses not being converted to JSON

* providers/oidc: rewrite to use flows

* flows: fix linting
2020-06-07 16:35:08 +02:00
Jens Langhammer e2804b9755 root: fix linting errors 2020-05-27 11:26:48 +02:00
Jens Langhammer eeeb14a045 admin: fix urls for applications 2020-05-22 23:22:40 +02:00
Jens Langhammer fab9f1cb1b root: clear cache on debug startup 2020-05-20 16:13:48 +02:00
Jens Langhammer 10d3f9ac2f root: rewrite bootstrap in python, remove management command 2020-05-16 22:46:17 +02:00
Jens Langhammer 333ee3eed4 dc: fix compose, remove SESSION_COOKIE_DOMAIN 2020-05-16 20:39:38 +02:00
Jens L 5596caedbc
Merge pull request #9 from BeryJu/db-reset
DB Reset
2020-05-16 18:20:03 +02:00
Jens Langhammer 227966e727 core: rename nonce to token 2020-05-16 16:11:53 +02:00
Jens Langhammer 406f69080b Revert "*: providers and sources -> channels, PolicyModel to PolicyBindingModel that uses custom M2M through"
This reverts commit 7ed3ceb960.
2020-05-16 16:02:42 +02:00
Jens Langhammer 2ce31dfaa5 root: upgrade django-dbbackup 2020-05-16 14:54:18 +02:00
Jens Langhammer 7ed3ceb960 *: providers and sources -> channels, PolicyModel to PolicyBindingModel that uses custom M2M through 2020-05-16 14:03:57 +02:00
Jens Langhammer b907105f4a policies/expression: expose python requests via expression, remove webhook policy 2020-05-15 12:02:41 +02:00
Jens Langhammer 43a583e2d2 stages/invitation: add unittests 2020-05-13 23:20:27 +02:00
Jens Langhammer c42ed6bc99 admin: sort types, minor fixups 2020-05-13 11:57:10 +02:00
Jens Langhammer 57fed2b92b stages/user_delete: fix formatting 2020-05-12 15:23:17 +02:00
Jens Langhammer e45b33c6c2 stages/user_delete: add user delete stage, remove view from core 2020-05-12 14:50:00 +02:00
Jens Langhammer 137e90355b flows: default-auth -> default-authentication 2020-05-12 14:49:47 +02:00
Jens Langhammer 7500e622f6 stages/invitation: start extracting invitation from core 2020-05-11 21:58:02 +02:00
Jens Langhammer e12780f78f flows: add invalidation designation, use as default logout action 2020-05-11 01:12:57 +02:00
Jens Langhammer 9dec13c225 stages/user_logout: add logout stage 2020-05-11 01:12:14 +02:00
Jens Langhammer 69120da45c core: remove redundant views/forms 2020-05-11 00:49:48 +02:00
Jens Langhammer 5b2bf7519a stages/user_create -> user_write: Stage can create and update existing users 2020-05-10 23:38:15 +02:00
Jens Langhammer a67c53f46a stages/email: start rewriting templates, add template tags to embed CSS and images 2020-05-10 20:16:58 +02:00
Jens Langhammer 8de87d9acb stages/identification: test signup notice 2020-05-10 18:17:24 +02:00
Jens Langhammer 8dc3c49a2f stages/user_create: add stage to create user after prompts 2020-05-10 18:04:23 +02:00
Jens Langhammer a3a3dde1c8 stages/dummy: add unittests
stages/password: improve coverage
stages/user_login: improve coverage
2020-05-10 17:02:01 +02:00
Jens Langhammer f111604b70 stages/login: -> stages/user_login: rename login to user_login for user_create stage 2020-05-10 16:20:44 +02:00
Jens Langhammer 4315d1a03c stages/prompt: add prompt stage: dynamically created forms based on database 2020-05-10 16:20:17 +02:00
Jens Langhammer 4f785da452 root: fix migrations for CI 2020-05-10 13:06:38 +02:00
Jens Langhammer ff4bd1c91f root: increase testing verbosity to debug CI 2020-05-10 12:50:58 +02:00
Jens Langhammer 9bccf9bb0a policies/dummy: separate dummy policy from core into app 2020-05-10 02:14:55 +02:00
Jens Langhammer fd5b2298e5 flows: fix unittests and migrations 2020-05-09 23:31:35 +02:00
Jens Langhammer 28b913136d root: set log level based on DEBUG flag 2020-05-09 20:53:47 +02:00
Jens Langhammer 212e966dd4 factors: -> stage 2020-05-08 20:59:51 +02:00
Jens Langhammer c3e43a7c2f flows: fix denied view not being registered 2020-05-08 16:50:50 +02:00
Jens Langhammer 8de66b27ad flows/*: Initial flows stage1 implementation 2020-05-07 20:51:06 +02:00
Jens Langhammer b40bffdf38 providers/samlv2: start implementing new SAML Provider 2020-05-07 01:20:08 +02:00
Jens Langhammer 80d90b91e8 core: add general admin.py loader, remove individual files 2020-05-07 00:05:10 +02:00
Jens Langhammer 8df55f22aa crypto: implement simple certificate-key pair for easier management 2020-03-03 23:35:25 +01:00
Jens Langhammer 2bf96828f1 root: fix logging.basicConfig being called by pyjwkest 2020-02-24 15:30:28 +01:00
Jens Langhammer 238b489e07 root: add process ID to logging output 2020-02-24 13:20:32 +01:00
Jens Langhammer 3453077d7b root: set SameSite to None when debugging 2020-02-23 22:49:33 +01:00
Jens Langhammer b6326f399c ui: clean up more generic forms, remove is_login everywhere 2020-02-21 15:00:45 +01:00
Jens Langhammer 8fd86a28ff ui: fixup minor issues, add static app 2020-02-21 11:20:55 +01:00
Jens Langhammer 93ba4b7f62 root: use defusedxml's defuse_stdlib globally 2020-02-21 09:00:28 +01:00
Jens Langhammer 3c04afa31f root: use different cookie names for dev instance 2020-02-20 17:08:11 +01:00
Jens Langhammer 22ae986c0b root: add logger name to log output 2020-02-20 13:52:14 +01:00
Jens Langhammer 7f3d0113c2 policies: remove redundant policies which can be easily implemented with expressions 2020-02-19 09:51:15 +01:00
Jens Langhammer 9f00843441 policies/expression: add Expression based policy 2020-02-18 15:12:50 +01:00
Jens Langhammer 5b22f9b6c3 providers/saml: transition to dataclass from dict, cleanup unused templates, add missing autosubmit_form 2020-02-18 10:57:30 +01:00
Jens Langhammer 5dfa141e35 root/wsgi: log requests with event name of request 2020-02-16 14:36:31 +01:00
Jens Langhammer d9ecb7070d core: add more prometheus metrics 2020-01-19 21:01:26 +01:00
Jens Langhammer fc4a46bd9c root: fix credential variables overwriting each other 2020-01-17 11:16:23 +01:00
Jens Langhammer 7bf7bde856 root: fix prometheus path in ServiceMonitor, return WWW-Authenticate header so basic auth is sent 2020-01-17 10:55:11 +01:00
Jens Langhammer 575739d07c ci: add bandit for static security checks 2020-01-02 13:41:49 +01:00
Jens Langhammer 3bd1eadd51 all: implement black as code formatter 2019-12-31 12:51:16 +01:00
Jens Langhammer 74cd0bc08f all(minor): remove old, unused code 2019-12-05 15:07:37 +01:00
Jens Langhammer b08ec0477e all(minor): replace django-ipware with custom implementation 2019-12-05 14:33:55 +01:00
Jens Langhammer c37e382c15 root(minor): fix incorrect user IP being shown 2019-12-02 18:05:06 +01:00
Jens Langhammer 784dd0fdd6 root(minor): fix unnecessary redirect for prometheus 2019-12-02 18:04:55 +01:00
Langhammer, Jens 979bea17ed root(minor): disable error reporting by default 2019-11-20 13:12:37 +01:00
Langhammer, Jens be642bc874 root(major): fix dbbackup not working with prometheus 2019-11-19 18:08:25 +01:00
Langhammer, Jens 08f0aca894 provider/oidc(minor): include claims in id_token 2019-11-11 13:19:54 +01:00
Langhammer, Jens 73558f30d1 root(minor): revert to django_redis cache 2019-11-08 13:58:10 +01:00
Langhammer, Jens 3d73aac3ab helm(minor): add service monitors 2019-11-08 12:24:42 +01:00
Langhammer, Jens e4fbcd3735 root(major): add prometheus 2019-11-08 12:23:51 +01:00
Langhammer, Jens dabce36667 sources/saml(major): add saml SP 2019-11-07 17:02:56 +01:00
Jens Langhammer 0b9fc9e444 root(minor): fallback to empty string if no Host header ise set 2019-11-01 12:50:38 +00:00
Langhammer, Jens cffe09b02e all(major): add most models to API 2019-10-28 17:40:57 +01:00
Langhammer, Jens 543e949a48 api(minor): start with api v2 2019-10-28 14:26:07 +01:00
Langhammer, Jens feb80049aa Merge branch 'master' into guardian 2019-10-25 22:18:13 +02:00
Langhammer, Jens 3353aa0298 root(minor): disable uwsgi request loggin and use custom logging instead 2019-10-15 15:57:37 +02:00
Langhammer, Jens 13f4ea0b8b root(minor): sort keys in log output 2019-10-15 15:40:38 +02:00
Langhammer, Jens 261d57ad7b Merge branch 'master' into guardian
# Conflicts:
#	Pipfile
#	Pipfile.lock
#	passbook/admin/views/invitations.py
#	passbook/admin/views/policy.py
#	passbook/admin/views/providers.py
#	passbook/admin/views/sources.py
#	passbook/admin/views/users.py
2019-10-15 15:09:11 +02:00
Langhammer, Jens 4086252979 core(major): add integrated database backup 2019-10-15 13:52:33 +02:00
Langhammer, Jens f1c4a62612 policy(major): fix error when policy.negate is enabled 2019-10-14 15:00:20 +02:00
Langhammer, Jens ae19236366 factors/email(minor): fix default timeout being 0, which breaks task 2019-10-11 14:24:58 +02:00
Langhammer, Jens 0154def916 root(minor): allow subapps to define CELERY_BEAT_SCHEDULE 2019-10-11 12:47:29 +02:00
Langhammer, Jens 143a575369 Merge branch 'master' into guardian
# Conflicts:
#	Pipfile
#	Pipfile.lock
#	passbook/core/models.py
2019-10-10 17:29:34 +02:00
Langhammer, Jens b9991465ee recovery(new): add recovery app to create recovery links 2019-10-10 14:05:16 +02:00
Langhammer, Jens a53f7a49ac root(minor): start implementing guardian 2019-10-10 10:45:51 +02:00
Langhammer, Jens 3b7e47dbe2 settings(minor): use cached_db for session, use localhost as domain 2019-10-09 14:30:53 +02:00
Langhammer, Jens d91a852eda factors/email(minor): start rebuilding email integration as factor 2019-10-08 14:30:17 +02:00
Langhammer, Jens 72769b8a0a lib(minor): cleanup default settings 2019-10-08 10:44:44 +02:00
Langhammer, Jens 93e0441b58 helm(minor): don't directly mount configmap 2019-10-07 17:14:08 +02:00
Langhammer, Jens f2acc154cd *(minor): small refactor 2019-10-07 16:33:48 +02:00
Langhammer, Jens d21ec6c9a5 root(minor): get rid of duplicate settings 2019-10-04 16:09:35 +02:00
Langhammer, Jens e59c4ec1c7 root(minor): cleanup, remove unused log 2019-10-04 13:43:47 +02:00
Langhammer, Jens 1453008796 wsgi(minor): add proper request logging 2019-10-04 12:44:59 +02:00
Langhammer, Jens a48924c896 docker(minor): switch to debian based image so we can use wheels 2019-10-04 11:50:52 +02:00
Langhammer, Jens 0b86231a36 *(minor): make better use of structured logging 2019-10-04 10:21:33 +02:00
Langhammer, Jens c0df1f38b8 *(minor): remove __name__ param from get_logger 2019-10-04 10:08:53 +02:00
Langhammer, Jens c7322a32a0 app_gw(minor): remove current implementation 2019-10-04 09:28:28 +02:00
Langhammer, Jens b8656858ec k8s(minor): load secrets as env vars 2019-10-01 15:42:14 +02:00
Langhammer, Jens aec1ccd88d root(minor): fix redis password not being loaded 2019-10-01 15:30:35 +02:00
Langhammer, Jens f4499a5459 *(minor): stdlib logging to structlog 2019-10-01 10:24:10 +02:00
Langhammer, Jens b3aede5bba policy(minor): Move policy-related code to separate package 2019-10-01 10:17:39 +02:00
Langhammer, Jens c2c5ff6912 config(minor): CONFIG.get -> CONFIG.y 2019-09-30 18:04:04 +02:00
Langhammer, Jens 174472bb45 all: get rid of individual requirements file, remove version from every module 2019-07-22 15:20:17 +02:00
Jens Langhammer 1d2be6e68b root: fix sentry sending wrong release 2019-07-05 16:00:01 +02:00