Commit graph

1173 commits

Author SHA1 Message Date
Jens Langhammer d3b0992456 flows: FlowStageBinding: rename .flow to .target to fix select_subclasses() 2020-07-04 00:14:21 +02:00
Jens Langhammer 1d9c92d548 admin: add generic form tests 2020-07-02 22:29:30 +02:00
Jens Langhammer bead19c64c flows: cleanup denied view, use everywhere 2020-07-02 13:48:42 +02:00
Jens Langhammer ae83ee6d31 providers/saml: fix access result not being checked properly 2020-07-02 00:23:52 +02:00
Jens Langhammer 4701374021 admin: remove duplicate code into new base classes 2020-07-02 00:13:33 +02:00
Jens Langhammer bd40585247 providers/samlv2: remove SAMLv2 from master 2020-07-01 23:21:58 +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 3478a2cf6d admin: add filter to hide classes with __debug_only__ when Debug is disabled 2020-07-01 18:53:13 +02:00
Jens Langhammer 3b70d12a5f *: rephrase strings 2020-07-01 18:40:52 +02:00
Jens Langhammer 219acf76d5 core: fix forms for radio buttons 2020-07-01 12:47:27 +02:00
Jens Langhammer ec6f467fa2 ui: Make Checkbox label click trigger checkbox toggle 2020-07-01 12:37:13 +02:00
Jens Langhammer 0e6561987e admin: fix user and group create not triggering sidebar 2020-07-01 12:36:44 +02:00
Jens Langhammer 62c20b6e67 admin: add list of all tokens 2020-07-01 12:27:30 +02:00
Jens Langhammer 13084562c5 admin: fix Password Recovery function not working 2020-07-01 12:10:12 +02:00
Jens Langhammer 02c1c434a2 core: update styling of impersonate banner 2020-07-01 12:01:58 +02:00
Jens Langhammer 5f04a75878 new release: 0.9.0-pre4 2020-07-01 09:50:21 +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 729910c383 stages/*: minor string updates 2020-06-30 18:52:18 +02:00
Jens Langhammer 37fe637422 stages/password: make template inherit form_with_user 2020-06-30 18:50:24 +02:00
Jens Langhammer 2ca5e1eedb stages/otp_*: fix linting 2020-06-30 16:12:19 +02:00
Jens Langhammer d2bf579ff6 stages/otp_static: start implementing static stage 2020-06-30 15:44:34 +02:00
Jens Langhammer 3716bda76e stages/otp_time: fix linting 2020-06-30 13:44:09 +02:00
Jens Langhammer a76eb4d30f stages/otp_time: Cleanup, use django_otp's URL generator 2020-06-30 12:42:39 +02:00
Jens Langhammer 7c191b0984 stages/otp_validate: Implement OTP Validation stage 2020-06-30 12:42:12 +02:00
Jens Langhammer 9613fcde89 Squashed commit of the following:
commit 885a2ed057
Author: Jens Langhammer <jens.langhammer@beryju.org>
Date:   Tue Jun 30 12:17:23 2020 +0200

    flows: fix linting error
2020-06-30 12:18:01 +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 de3b753a26 flows: show error message in flow when stage raises 2020-06-30 11:18:39 +02:00
Jens Langhammer 34be1dd9f4 admin: add execute button to flow which executes flow without cache 2020-06-30 11:18:20 +02:00
Jens Langhammer a4c0fb9e75 otp_time: fix linting 2020-06-30 10:42:27 +02:00
Jens Langhammer f040223646 audit: move events list from admin to audit app 2020-06-30 10:23:54 +02:00
Jens Langhammer bf297b8593 admin: add info about latest version 2020-06-30 10:23:39 +02:00
Jens L b746ce97ba
Merge branch 'master' into flows-cancel 2020-06-30 00:20:33 +02:00
Jens Langhammer dbee714dac api: fix consent stage missing from API 2020-06-30 00:19:06 +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 8d31eef47d stages/password: assign default password change flow to password stage
add e2e tests for password change flow
2020-06-29 21:47:20 +02:00
Jens Langhammer 96a6ac85df audit: add cleanse_dict function to ensure no passwords end in logs 2020-06-29 19:13:07 +02:00
Jens Langhammer 21ba969072 stages/password: create default password change flow 2020-06-29 16:26:21 +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 693a92ada5 audit: fix sanitize_dict updating source dict 2020-06-29 16:19:56 +02:00
Jens Langhammer ec823aebed flows: update migrations to use update_or_create 2020-06-29 16:19:39 +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 8c36ab89e8 stages/otp: start separation into 3 stages, otp_time, otp_static and otp_validate 2020-06-28 10:30:35 +02:00
Jens Langhammer cc7e4ad0e2 e2e: show browser logs to debug CI issues 2020-06-26 15:06:46 +02:00
Jens Langhammer 768464dc6a new release: 0.9.0-pre3 2020-06-25 20:39:50 +02:00
Jens Langhammer 5a11206fe9 Merge branch 'master' into e2e 2020-06-25 17:58:51 +02:00
Jens Langhammer 9675fbb07d e2e: add tests for enrollment with email 2020-06-25 17:45:06 +02:00
Jens Langhammer 57a7bed99d sources/oauth: fix facebook provider 2020-06-25 10:24:53 +02:00
dependabot-preview[bot] b8b5069df1 build(deps): bump @patternfly/patternfly in /passbook/static/static
Bumps [@patternfly/patternfly](https://github.com/patternfly/patternfly) from 4.10.31 to 4.16.7.
- [Release notes](https://github.com/patternfly/patternfly/releases)
- [Changelog](https://github.com/patternfly/patternfly/blob/master/RELEASE-NOTES.md)
- [Commits](https://github.com/patternfly/patternfly/compare/prerelease-v4.10.31...prerelease-v4.16.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-25 09:21:20 +02:00
Jens Langhammer 9eaceb9ec6 e2e: add tests for SAML source 2020-06-24 23:24:45 +02:00
Jens Langhammer 05778d8065 sources/saml: minor formatting fixes 2020-06-24 22:46:20 +02:00
Jens Langhammer 831e228f80 api: fix SAMLSource missing from API 2020-06-24 22:28:40 +02:00
Jens Langhammer 31e0d74495 sources/saml: correctly cleanup transient users, update forms 2020-06-24 22:27:14 +02:00
Jens Langhammer 05999cb8c7 sources/saml: start implementing transient NameID format 2020-06-24 21:50:30 +02:00
Jens Langhammer c0d8aa2303 sources/saml: fix SAMLRequest not being encoded properly for Redirect bindings 2020-06-24 13:12:34 +02:00
Jens Langhammer db6cb5ad51 core: make generic error template work with shell executor 2020-06-23 21:49:43 +02:00
Jens Langhammer 52f138d402 sources/saml: improve error handing of invalid signatures 2020-06-23 21:49:27 +02:00
dependabot-preview[bot] 59b8b1e92a
build(deps): bump codemirror in /passbook/static/static (#86)
Bumps [codemirror](https://github.com/codemirror/CodeMirror) from 5.54.0 to 5.55.0.
- [Release notes](https://github.com/codemirror/CodeMirror/releases)
- [Changelog](https://github.com/codemirror/CodeMirror/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codemirror/CodeMirror/compare/5.54.0...5.55.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-22 10:55:16 +02:00
Jens Langhammer 491e507d49 stages/email: check saved get params for token 2020-06-21 20:46:48 +02:00
Jens Langhammer de1be2df88 flows: save entire GET params from shell executor 2020-06-21 20:46:38 +02:00
Jens Langhammer 39f51ec33d stages/email: fix email account confirmation email template 2020-06-21 20:13:59 +02:00
Jens Langhammer 1b3c0adf75 e2e: cleanup, always take screenshots on teardown 2020-06-21 15:09:01 +02:00
Jens Langhammer 6122dcacc7 flows: fix flow cache not being cleared correctly when stages are saved 2020-06-21 12:40:01 +02:00
Jens Langhammer 4d81172a48 providers/oauth: add support for consent stage, cleanup 2020-06-20 23:30:53 +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 68efcc7bf2 e2e: add custom testcase class to simplify code 2020-06-20 17:06:00 +02:00
Jens Langhammer 7b7305607c root: enable debug logging when testing 2020-06-20 15:48:54 +02:00
Jens Langhammer 14fd137f89 root: improve test detection 2020-06-19 22:27:20 +02:00
Jens Langhammer af8cdb34ee *: fix not all migrations using db_alias 2020-06-19 20:43:27 +02:00
Jens Langhammer 03b1a67b44 flows: change wording of consent on flows 2020-06-19 20:33:41 +02:00
Jens Langhammer 3a40e50fa0 providers/oidc: add template for consent 2020-06-19 20:19:31 +02:00
Jens Langhammer fa5c2bd85c stages/consent: add FlowPlan context variable for template name 2020-06-19 20:19:18 +02:00
Jens Langhammer 73e7158178 e2e: add OIDC Provider test against grafana, more formatting, minor bug fixes 2020-06-19 19:45:27 +02:00
Jens Langhammer 8c6a4a4968 e2e: test against standalone chrome instance, start implementing oidc provider test 2020-06-19 18:19:20 +02:00
Jens Langhammer c83216ece0 Merge branch 'master' into e2e
# Conflicts:
#	Pipfile.lock
#	docs/installation/docker-compose.md
2020-06-19 09:00:46 +02:00
dependabot-preview[bot] b0fec4f3e2
build(deps): bump @fortawesome/fontawesome-free (#80)
Bumps [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) from 5.13.0 to 5.13.1.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/5.13.0...5.13.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-19 08:53:29 +02:00
Jens Langhammer dab53cfd03 flows/executor: call plan.next before pop so we can save plan
ReevaluateMarker: use PolicyEngine without cache
2020-06-18 22:54:09 +02:00
Jens L 6a4086c490
flows: introduce FlowPlan markers, which indicate when a stage needs … (#79)
* flows: introduce FlowPlan markers, which indicate when a stage needs re-evaluation

Implement re_evaluate_policies
add unittests for several different scenarios
closes #78

* flows: move markers to separate files, cleanup formatting

* flows: fix self.next is not callable
2020-06-18 22:43:51 +02:00
Jens Langhammer bdf0e74af3 docs: add supported scopes of oauth provider 2020-06-18 19:39:58 +02:00
Jens Langhammer 5e8a1e3c0d *: make email naming consistent 2020-06-18 19:35:59 +02:00
Jens Langhammer afc8baff5f flows/shell: check for elements with autofocus attribute and call .focus();
closes #76
2020-06-18 19:09:12 +02:00
Jens Langhammer 3713d111a4 core: fix integrity error for default user
closes #75
2020-06-18 19:04:13 +02:00
Jens Langhammer 1d3460b670 new release: 0.9.0-pre2 2020-06-15 19:08:17 +02:00
Jens Langhammer feba3e2430 stages/prompt: Add username type field
add autocomplete attributes for username and password
2020-06-15 19:05:18 +02:00
Jens Langhammer b49d39a685 stages/identification: improve support for password managers 2020-06-15 18:38:09 +02:00
Jens Langhammer 34c1b3b68b stages/password: Improve support for password managers 2020-06-15 18:37:59 +02:00
Jens Langhammer e3d6ca6ab4 root: revert to non-prometheus db backend 2020-06-15 12:12:32 +02:00
Jens Langhammer 6f0e292c43 root: add lgtm 2020-06-15 11:56:20 +02:00
Jens Langhammer 9df1e7900d stages/email: add noopener noreferrer 2020-06-15 11:56:14 +02:00
Jens Langhammer 2a3166bf7e ui: (pf4) Update pagination and toolbar 2020-06-09 13:40:03 +02:00
Jens Langhammer 62fe4d617b ui: (pf4) update admin overview 2020-06-09 13:39:44 +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
dependabot-preview[bot] 2e5170f631
build(deps): bump @patternfly/patternfly in /passbook/static/static (#58)
Bumps [@patternfly/patternfly](https://github.com/patternfly/patternfly) from 2.71.6 to 4.10.31.
- [Release notes](https://github.com/patternfly/patternfly/releases)
- [Changelog](https://github.com/patternfly/patternfly/blob/master/RELEASE-NOTES.md)
- [Commits](https://github.com/patternfly/patternfly/compare/v2.71.6...prerelease-v4.10.31)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-09 09:32:56 +02:00
Jens Langhammer bd312b60fc gatekeeper: update upstream docker image 2020-06-09 09:26:03 +02:00
Jens Langhammer 26aa7e1fef sources/ldap: fix 'LDAPSource' object has no attribute '_connection' 2020-06-09 01:17:17 +02:00
Jens Langhammer 5265064b10 new release: 0.9.0-pre1 2020-06-08 15:47:22 +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 Langhammer fc2eb003ea e2e: add apply_default_data to load data from migrations after tables have been truncated 2020-06-07 19:31:16 +02:00
Jens Langhammer aa440c17b7 Merge branch 'master' into e2e 2020-06-07 17:52:51 +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 f91e02a0ec flows: allow username for default flow 2020-06-05 20:30:47 +02:00
Jens Langhammer c62794c738 admin: fix PropertyMapping widget not rendering properly 2020-06-05 20:27:18 +02:00
Jens Langhammer 7664b428e7 sources/ldap: fix expression field not being CodeMirror 2020-06-05 20:18:45 +02:00
Jens Langhammer 9f3f34389e root: update docs URL 2020-06-05 20:18:26 +02:00
Jens Langhammer 30ca926b38 docs: remove last occurrences to jinja2 2020-06-05 20:18:11 +02:00
Jens Langhammer 6a7ffa855e docs: add example for login flow 2020-06-05 17:29:08 +02:00
Jens Langhammer 0c5aff21bc stages/identification: minor UI fixes 2020-06-05 17:02:50 +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 Langhammer 4ff41be74a Merge branch 'master' into docs-flows
# Conflicts:
#	mkdocs.yml
2020-06-05 12:51:10 +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 790139f8bc stages/email: Add test to check if user is pending 2020-06-03 21:00:04 +02:00
Jens Langhammer 4824e5c8ba docs: add docs for flows and all stages 2020-06-02 23:52:02 +02:00
Jens Langhammer c4facd53b4 Merge branch 'master' into docs-flows 2020-06-02 20:25:43 +02:00
Jens Langhammer ef913abc7a sources/ldap: add option to disable user sync, move connection init to model 2020-06-02 17:15:59 +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 f22c89c998 crypto: re-add default self-signed keypair 2020-06-02 17:01:15 +02:00
Jens Langhammer 2a78d2d0a0 crypto: fix being unable to save with private key 2020-06-02 17:01:15 +02:00
Jens Langhammer b0ddc6a8c0 admin: fix missing stage count 2020-06-02 17:00:26 +02:00
Jens Langhammer 8080b0380e providers/saml: re-add default PropertyMappings 2020-06-02 17:00:03 +02:00
Jens Langhammer ddfa2abbaa sources/ldap: re-add default PropertyMappings 2020-06-02 17:00:03 +02:00
Jens Langhammer 5fc5e54f47 sources/oauth: fix typing errors
# Conflicts:
#	passbook/sources/oauth/clients.py
2020-06-02 16:57:38 +02:00
Jens Langhammer 7462d56182 policies/engine: add more verbosity 2020-06-02 16:56:58 +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 07d047c887 stages/identification: fix *_flows missing in edit form 2020-06-02 16:39:55 +02:00
Jens Langhammer 23193314f1 Merge branch 'master' into docs-flows 2020-06-02 15:20:24 +02:00
Jens Langhammer 1912b29dc5 policies/expression: fix lint error 2020-06-02 15:20:02 +02:00
Jens Langhammer c961327d27 stages/identification: fix recovery template 2020-06-01 19:08:14 +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 Langhammer 4d1658b35e stages/identification: explicitly define enrollment and recovery 2020-05-31 23:01:08 +02:00
Jens Langhammer 08302a04bf docs: add docs for flows, start docs for stages 2020-05-30 22:36:01 +02:00
Jens Langhammer 27728abe99 e2e: start implementing e2e tests 2020-05-29 00:45:56 +02:00