Commit graph

133 commits

Author SHA1 Message Date
Jens Langhammer c0d8aa2303 sources/saml: fix SAMLRequest not being encoded properly for Redirect bindings 2020-06-24 13:12:34 +02:00
Jens Langhammer c97b946a00 providers/saml: make SAML provider compatible with consent 2020-06-20 22:30:45 +02:00
Jens Langhammer 3753275453 providers/saml: make metadata accessible without authentication 2020-06-20 21:51:52 +02:00
Jens Langhammer e4cb9b7ff9 providers/saml: fix provider has no attribute sp_binding 2020-06-20 21:49:48 +02:00
Jens Langhammer a0f05caf8e providers/saml: move templates into correct folder 2020-06-20 21:49:16 +02:00
Jens Langhammer 42e9ce4f72 providers/*: fix plan stages not being injected properly 2020-06-20 19:40:25 +02:00
Jens Langhammer 331faa53bc providers/saml: fix metadata template using wrong templates 2020-06-20 19:35:48 +02:00
Jens Langhammer 6f0e292c43 root: add lgtm 2020-06-15 11:56:20 +02:00
Jens Langhammer ee8313142f Merge branch 'docs-flows'
# Conflicts:
#	passbook/core/templates/partials/form_horizontal.html
2020-06-08 15:43:46 +02:00
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 7664b428e7 sources/ldap: fix expression field not being CodeMirror 2020-06-05 20:18:45 +02:00
Jens Langhammer 30ca926b38 docs: remove last occurrences to jinja2 2020-06-05 20:18:11 +02:00
Jens L 73116b9d1a
policies/expression: migrate to raw python instead of jinja2 (#49)
* policies/expression: migrate to raw python instead of jinja2

* lib/expression: create base evaluator, custom subclass for policies

* core: rewrite propertymappings to use python

* providers/saml: update to new PropertyMappings

* sources/ldap: update to new PropertyMappings

* docs: update docs for new propertymappings

* root: remove jinja2

* root: re-add jinja to lock file as its implicitly required
2020-06-05 12:00:27 +02:00
Jens Langhammer 8080b0380e providers/saml: re-add default PropertyMappings 2020-06-02 17:00:03 +02:00
Jens Langhammer e2804b9755 root: fix linting errors 2020-05-27 11:26:48 +02:00
Jens L 24a3e787dd
migrate to per-model UUID Primary key, remove UUIDModel (#26)
* *: migrate to per-model UUID Primary key, remove UUIDModel

* *: fix import order, fix unittests
2020-05-20 09:17:06 +02:00
Jens Langhammer c903c81bd5 root: update pylint ignore list 2020-05-18 18:15:39 +02:00
Jens Langhammer a5319fc2fe *: rename templatetags to clearly identify 2020-05-15 10:54:31 +02:00
Jens Langhammer e12780f78f flows: add invalidation designation, use as default logout action 2020-05-11 01:12:57 +02:00
Jens Langhammer 3456527f10 providers/saml: fix minor typing issue 2020-05-09 20:54:11 +02:00
Jens Langhammer 114bb1b0bd flows: implement planner, start new executor 2020-05-08 14:33:14 +02:00
Jens Langhammer 813dd2894f *: add pyright type checking 2020-05-07 00:32:03 +02:00
Jens Langhammer 80d90b91e8 core: add general admin.py loader, remove individual files 2020-05-07 00:05:10 +02:00
Jens Langhammer fff05e35ac providers/saml: optionally verify SAML Signature 2020-05-06 18:03:12 +02:00
Jens Langhammer 5f4452470b providers/saml: fix metadata rendering when no singing keypair is selected
closes PASSBOOK-44
2020-04-10 21:54:23 +02:00
Jens Langhammer 9a1270c693 providers/saml: fix wrong signing property being checked
closes PASSBOOK-45
2020-04-10 21:52:03 +02:00
Jens Langhammer f2119ce567 providers/saml: fix signing_kp typo 2020-03-05 17:09:08 +01:00
Jens Langhammer 80a50f9bdb providers/saml: switch to new crypto 2020-03-03 23:35:50 +01:00
Jens Langhammer 64f15eadbd providers/saml: fix CSRF errors with POST binding 2020-02-28 10:50:16 +01:00
Jens Langhammer 9b72c604dd docs: fix some typos 2020-02-27 13:00:55 +01:00
Jens Langhammer b8daab4377 providers/saml: fix AccessRequiredView.dispatch not being called 2020-02-25 11:38:26 +01:00
Jens Langhammer c5b91bdae8 providers/saml: fix CannotHandleAssertion Error still being sent to sentry 2020-02-24 19:14:43 +01:00
Jens Langhammer 39a208c55f providers/saml: fix wrong key being used for params 2020-02-24 17:48:03 +01:00
Jens Langhammer a5bfef9b6b providers/saml: fix leftover data in session, fix IdP initiated login
move can_handle calls to binding endpoints (/login/ and /login/initiate/), so that /login/authorize/ works either way, can clean up the session and audit
2020-02-24 17:34:52 +01:00
Jens Langhammer 22838e66fe providers/saml: fix users being able to authenticate without audit logs being created 2020-02-24 14:40:12 +01:00
Jens Langhammer f8599438df ui: fix lists not being rendered correctly 2020-02-24 13:13:42 +01:00
Jens Langhammer 521a8b5356 ui: update more remaining templates 2020-02-23 22:49:56 +01:00
Jens Langhammer 8dbbe9102b ui: fix application grid icons, fix SAML Authorize 2020-02-21 22:16:58 +01:00
Jens Langhammer a3ae827839 ui: centrally load CodeMirror and init via data tag 2020-02-21 21:02:03 +01:00
Jens Langhammer 88c1ad4c1c providers/saml: fix 500 when SAML Provider not assigned to application 2020-02-21 20:54:00 +01:00
Jens Langhammer 1147c4901b ui: clean up some more remaining templates 2020-02-21 20:40:40 +01:00
Jens Langhammer a09a1793ec ui: update templates for jinja2-related fields 2020-02-21 15:36:37 +01:00
Jens Langhammer 9440d24358 static: use codemirror from npm 2020-02-21 15:18:13 +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 ea6a1422f7 ui: rewrite admin templates to pf4, add some helper scripts 2020-02-21 14:20:16 +01:00
Jens Langhammer d988f37afc lib: add SentryIgnoredException, to easily ignore exceptions from sentry 2020-02-20 21:38:53 +01:00
Jens Langhammer 38a22ddf13 providers/saml: cleanup encoding 2020-02-20 21:33:10 +01:00
Jens Langhammer d06f1abb89 providers/saml: add POST binding support to Metadata 2020-02-20 17:38:42 +01:00
Jens Langhammer 027a64fad2 providers/saml: change default NameID Format to emailAddress 2020-02-20 17:37:09 +01:00
Jens Langhammer e0272a6422 providers/saml: Show error message when trying to get metadata without assigning application 2020-02-20 17:04:20 +01:00
Jens Langhammer 8d875cb01d providers/saml: fix /login/ pointing to wrong view 2020-02-20 16:13:55 +01:00
Jens Langhammer d68c72f1fa lib: remove method_decorator Mixins 2020-02-18 22:28:47 +01:00
Jens Langhammer 9267d0c1dd all: general maintenance, prepare for pyright 2020-02-18 22:12:51 +01:00
Jens Langhammer 0c2dc309e7 providers/saml: fix metadata URLs using incorrect params 2020-02-18 20:14:28 +01:00
Jens Langhammer 1c1afca31f providers/saml: fix linting error 2020-02-18 11:34:04 +01:00
Jens Langhammer fbd4bdef33 providers/saml: add modal to show metadata without download 2020-02-18 10:57:43 +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 083e317028 lib: add helper method for 400 response with message 2020-02-18 10:13:53 +01:00
Jens Langhammer 813b2676de providers/saml: better handle PropertyMapping evaluation errors 2020-02-18 10:12:42 +01:00
Jens Langhammer aeca66a288 providers/saml: change assertion_valid_not_before default to -5 minutes 2020-02-17 21:32:23 +01:00
Jens Langhammer 3aa2f1e892 *: propertymapping template -> expression 2020-02-17 20:38:14 +01:00
Jens Langhammer bc4b7ef44d providers/saml: add custom help text for templates, add docs for User Object reference 2020-02-17 20:30:14 +01:00
Jens Langhammer 7268afaaf9 providers/saml: update to new PropertyMappings 2020-02-17 17:50:11 +01:00
Jens Langhammer a5629c5155 providers/saml: add changeable signature and digest algorithm 2020-02-17 16:28:18 +01:00
Jens Langhammer 32a48fa07a providers/saml: more typehints 2020-02-17 15:40:49 +01:00
Jens Langhammer 447e81d0b8 providers/saml: handle uncompressed SAML AuthNRequest 2020-02-16 14:08:35 +01:00
Jens Langhammer bdd1863177 providers/saml: move field labels from Form into models 2020-02-16 12:30:26 +01:00
Jens Langhammer e5b85e8e6a providers/saml: move default saml properties to DB 2020-02-16 12:29:53 +01:00
Jens Langhammer 571373866e providers/saml: some more cleanup, fix get_time_string when called without argument 2020-02-14 15:34:24 +01:00
Jens Langhammer e36d7928e4 providers/saml: big cleanup, simplify base processor
add New fields for
 - assertion_valid_not_before
 - assertion_valid_not_on_or_after
 - session_valid_not_on_or_after
allow flexible time durations for these fields
fall back to Provider's ACS if none is specified in AuthNRequest
2020-02-14 15:19:48 +01:00
Jens Langhammer 766518ee0e audit: sanitize kwargs when creating audit event 2019-12-31 13:33:07 +01:00
Jens Langhammer 3bd1eadd51 all: implement black as code formatter 2019-12-31 12:51:16 +01:00
Jens Langhammer 8eb3f0f708 ci: upgrade pylint to latest version
core: also upgrade kombu as https://github.com/celery/kombu/issues/1101 is fixed now
2019-12-31 12:45:29 +01:00
Jens Langhammer 31ea2e7139 audit: fix internal server error from passing models 2019-12-31 11:40:03 +01:00
Jens Langhammer f22dbba931 providers/saml: add UID field 2019-12-13 13:45:10 +01:00
Jens Langhammer 807cbbeaaf audit: rewrite to be independent of django http requests, allow custom actions 2019-12-05 16:14:08 +01:00
Langhammer, Jens cffe09b02e all(major): add most models to API 2019-10-28 17:40:57 +01:00
Langhammer, Jens ffca957838 audit(major): AuditEntry -> Event 2019-10-28 14:26:34 +01:00
Langhammer, Jens d4cb1a98c7 policy(major): simplify PolicyEngine API, add flag to ignore cache for debug purposes 2019-10-15 15:44:59 +02:00
Langhammer, Jens b1e4e32b83 providers/oidc(minor): correctly create audit entry on authz 2019-10-08 14:34:59 +02:00
Langhammer, Jens ec73b53340 providers/saml(minor): fix last wrong urls names 2019-10-07 18:36:09 +02:00
Langhammer, Jens 15fa7e9652 ui(minor): merge menus 2019-10-07 16:50:13 +02:00
Langhammer, Jens f2acc154cd *(minor): small refactor 2019-10-07 16:33:48 +02:00