Commit graph

560 commits

Author SHA1 Message Date
Jens Langhammer f99eaa85ac sources/ldap: implement LDAP password validation and syncing 2020-09-21 11:46:35 +02:00
Jens Langhammer 5fa3729702 audit: fix fields for events from impersonation being swapped 2020-09-19 22:54:36 +02:00
Jens Langhammer fe4a0c3b44 core: add impersonation start/end to audit log
also add impersonated user as context to other logs
2020-09-18 23:39:37 +02:00
Jens Langhammer cba78b4de7 providers/*: fix launch_url not working 2020-09-17 21:53:57 +02:00
Jens Langhammer 5ff1dd8426 core: move impersonation to core, add tests, add better permission checks 2020-09-17 16:24:53 +02:00
Jens Langhammer bf33828ac1 core: fix overview template for non-rectangular icons 2020-09-17 10:44:10 +02:00
Jens Langhammer 4b39c71de0 providers/oauth2: accept token as post param 2020-09-16 23:38:55 +02:00
Jens Langhammer 818f417fd8 providers/oauth2: only send id_token as access_token if ADFS compat mode is enabled 2020-09-16 23:31:03 +02:00
Jens Langhammer f1ccef7f6a e2e: add tests for proxy provider and outposts 2020-09-16 23:22:17 +02:00
Jens Langhammer ea9687c30b core: don't fail migrations if no pbadmin exists 2020-09-15 23:37:39 +02:00
Jens Langhammer 0a5e14a352 core: make is_superuser a group property, remove from user 2020-09-15 23:10:31 +02:00
Jens Langhammer c7daadfb18 core: fix logic error in expired models cleanup 2020-09-15 12:53:02 +02:00
Jens Langhammer 40614a65fc flows: move complete denied view and template to flows 2020-09-14 21:52:43 +02:00
Jens Langhammer 5184c4b7ef flows: fix FlowNonApplicableException and EmptyFlowException leading to infinite spinners 2020-09-14 18:40:26 +02:00
Jens Langhammer 2c07859b68 core: add automatic launch_url detection based on provider 2020-09-14 18:12:42 +02:00
Jens Langhammer 501683e3cb outposts: add tests for permissions 2020-09-14 17:34:07 +02:00
Jens Langhammer bebeff9f7f root: allow for changing of logo and branding 2020-09-13 17:52:33 +02:00
Jens Langhammer b317852e8a static: replace brand.svg with text and font 2020-09-13 17:33:30 +02:00
Jens L 23cccebb96
pytest (#209) 2020-09-11 23:21:11 +02:00
Jens L 268de20872
Proxy v2 (#189) 2020-09-03 00:04:12 +02:00
Jens L c7a2410b1d
OAuth Provider Rewrite (#182) 2020-08-19 10:32:44 +02:00
Jens Langhammer 7334599efd *: update JSON fields to django 3.1 2020-08-15 21:04:22 +02:00
Jens Langhammer 6fa825e372 providers/*: remove path-based import from all providers 2020-07-20 16:05:09 +02:00
Jens Langhammer ac2dd3611f sources/*: remove path-based import from all sources 2020-07-20 16:05:09 +02:00
Jens Langhammer c60d1e1f9a core: separate expiry logic from tokens and make re-usable 2020-07-20 10:57:12 +02:00
Jens Langhammer a943d060d2 core: add separate autosubmit form for use without flows 2020-07-12 18:24:36 +02:00
Jens Langhammer 996aa367d3 core: fix autosubmit_form loading full template 2020-07-12 17:45:03 +02:00
Jens Langhammer 2d2b2d08f4 core: fix source slug not being unique 2020-07-09 23:05:46 +02:00
Jens Langhammer 9518cefdd7 flows: fix default-source-enrollment-if-username expression 2020-07-09 00:20:42 +02:00
Jens Langhammer 32d5c26577 core: fix base_full template missing messages 2020-07-09 00:18:45 +02:00
Jens Langhammer d831599608 core: make autosubmit_form generic template 2020-07-08 14:27:58 +02:00
Jens Langhammer 1524880eec core: add generic login/base_full template for static login views 2020-07-08 14:17:29 +02:00
Jens Langhammer 429627494c root: fix passbook.footer_links not being rendered 2020-07-08 13:18:33 +02:00
Jens Langhammer 17a2ac73e7 stages/user_write: add signals 2020-07-07 15:49:02 +02:00
Jens Langhammer 6bc6f947dd stages/invitation: move invite signals from core to app 2020-07-07 15:46:13 +02:00
Jens Langhammer 9958019bf3 core: fix user's sidebar links for sources 2020-07-06 17:46:41 +02:00
Jens Langhammer 78e5d471e3 core: fix type annotation for user settings 2020-07-05 23:49:33 +02:00
Jens Langhammer d5a3e09a98 core: add token Intents 2020-07-05 23:14:57 +02:00
Jens Langhammer 26613b6ea9 core: fix application overview 2020-07-05 22:58:52 +02:00
Jens Langhammer 16b966c16e policies: Show grouped Dropdown for Target 2020-07-04 00:16:16 +02:00
Jens Langhammer bead19c64c flows: cleanup denied view, use everywhere 2020-07-02 13:48:42 +02:00
Jens Langhammer cc0b8164b0 providers/*: use PolicyAccessMixin to simplify 2020-07-01 23:18:10 +02:00
Jens Langhammer 310b31a8b7 core: fix linting 2020-07-01 22:35:38 +02:00
Jens Langhammer 13900bc603 lib: cleanup unused widgets 2020-07-01 22:27:58 +02:00
Jens Langhammer 6634cc2edf root: add group_membership policy 2020-07-01 21:18:05 +02:00
Jens Langhammer 219acf76d5 core: fix forms for radio buttons 2020-07-01 12:47:27 +02:00
Jens Langhammer 62c20b6e67 admin: add list of all tokens 2020-07-01 12:27:30 +02:00
Jens Langhammer 02c1c434a2 core: update styling of impersonate banner 2020-07-01 12:01:58 +02:00
Jens Langhammer 89c33060d4 core: fix user settings sidebar buttons not being enabled 2020-06-30 21:26:43 +02:00
Jens Langhammer b61f595562 core: ensure user settings are sorted by name 2020-06-30 21:24:58 +02:00
Jens Langhammer ce2230f774 stages/otp_*: update user setting design 2020-06-30 21:23:37 +02:00
Jens Langhammer c59c6aa728 stages/*: minor UI updates, cleanup 2020-06-30 19:06:41 +02:00
Jens Langhammer b270fb0742 stages/otp_time: implement TOTP Setup stage 2020-06-30 12:14:40 +02:00
Jens Langhammer 285a69d91f Merge branch 'master' into otp-rework 2020-06-30 11:23:09 +02:00
Jens Langhammer f040223646 audit: move events list from admin to audit app 2020-06-30 10:23:54 +02:00
Jens Langhammer d33f632203 flows: add CancelView to cancel current flow execution 2020-06-30 00:11:01 +02:00
Jens Langhammer 920858ff72 Merge branch 'master' into otp-rework
# Conflicts:
#	passbook/flows/models.py
#	passbook/stages/otp/models.py
#	swagger.yaml
2020-06-29 22:54:18 +02:00
Jens Langhammer d6a8d8292d core: UIUserSettings: remove icon, rename view_name to URL for complete URL 2020-06-29 16:20:33 +02:00
Jens Langhammer b8654c06bf flows: remove generic "password change" designation and add setup_stage 2020-06-29 11:12:51 +02:00
Jens Langhammer 9d03c4c7d2 flows: Stage ui_user_settings -> staticmethod with context as argument 2020-06-28 10:31:26 +02:00
Jens Langhammer db6cb5ad51 core: make generic error template work with shell executor 2020-06-23 21:49:43 +02:00
Jens Langhammer 1b3c0adf75 e2e: cleanup, always take screenshots on teardown 2020-06-21 15:09:01 +02:00
Jens Langhammer af8cdb34ee *: fix not all migrations using db_alias 2020-06-19 20:43:27 +02:00
Jens Langhammer 3713d111a4 core: fix integrity error for default user
closes #75
2020-06-18 19:04:13 +02:00
Jens Langhammer 34c1b3b68b stages/password: Improve support for password managers 2020-06-15 18:37:59 +02:00
Jens Langhammer 2a3166bf7e ui: (pf4) Update pagination and toolbar 2020-06-09 13:40:03 +02:00
Jens Langhammer b86b36f947 ui: (pf4) update forms 2020-06-09 13:39:35 +02:00
Jens Langhammer d6b9e67e78 ui: (pf4) fix navbar 2020-06-09 13:11:54 +02:00
Jens Langhammer f589da4e72 ui: (pf4) fix empty state 2020-06-09 09:52:25 +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 07da5f7122 Merge branch 'master' into docs-flows 2020-06-05 20:30:59 +02:00
Jens Langhammer c62794c738 admin: fix PropertyMapping widget not rendering properly 2020-06-05 20:27:18 +02:00
Jens Langhammer b0f426e51a core: fix help_text not always being shown on horizontal form 2020-06-05 17:01:46 +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 55fc5a6068 policies: rewrite cache_key to prevent wrong cache
# Conflicts:
#	passbook/core/signals.py
#	passbook/policies/engine.py
#	passbook/policies/process.py
2020-06-02 17:06:18 +02:00
Jens Langhammer 3f92d1c420 flows: Correctly check initial policies on flow with context
# Conflicts:
#	passbook/flows/planner.py
#	passbook/flows/tests/test_planner.py
#	passbook/flows/tests/test_views.py
#	passbook/flows/views.py
2020-06-02 16:53:40 +02:00
Jens Langhammer d4fa60f509 core: only show user delete button if an unenrollment flow exists 2020-06-02 16:44:29 +02:00
Jens Langhammer 052bf88c3d core: create default user
# Conflicts:
#	README.md
2020-06-02 16:42:44 +02:00
Jens Langhammer fe1ff7fc76 core: fix form not showing general errors 2020-06-01 19:08:01 +02:00
Jens Langhammer 82d12ecfdf policies/expression: use pb_message() for messages instead of returning a tuple 2020-06-01 15:25:38 +02:00
Jens L df8995deed
policies/*: remove Policy.negate, order, timeout (#39)
policies: rewrite engine to use PolicyBinding for order/negate/timeout
policies: rewrite engine to use PolicyResult instead of tuple
2020-05-28 21:45:54 +02:00
Jens L beabba2890
flows: Load Stages without refreshing the whole page (#33)
* flows: initial implementation of FlowExecutorShell

* flows: load messages dynamically upon card refresh
2020-05-24 00:57:25 +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 5ba55356a9 admin: cleanup templates, cleanup templatetags 2020-05-19 20:29:02 +02:00
Jens Langhammer db26ce808e core: remove policies from application form 2020-05-16 20:48:45 +02:00
Jens Langhammer 83013f063d core: remove stub data from user settings 2020-05-16 20:45:43 +02:00
Jens Langhammer 7bd65120b9 *: migrate from PolicyModel to PolicyBindingModel, move Policy to passbook_policies 2020-05-16 18:07:00 +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 7ed3ceb960 *: providers and sources -> channels, PolicyModel to PolicyBindingModel that uses custom M2M through 2020-05-16 14:03:57 +02:00
Jens Langhammer a5319fc2fe *: rename templatetags to clearly identify 2020-05-15 10:54:31 +02:00
Jens Langhammer 80c3246333 policies/expression: add pb_flow_plan variable 2020-05-13 18:44:36 +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 fc9f86cccc lib: use TemplateResponse for bad_request_message 2020-05-11 14:08:04 +02:00
Jens Langhammer e12780f78f flows: add invalidation designation, use as default logout action 2020-05-11 01:12:57 +02:00