Commit graph

158 commits

Author SHA1 Message Date
Jens Langhammer 526af26536 web/admin: migrate user forms to web
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-29 16:16:27 +02:00
Jens Langhammer 583b6cc20b web/admin: remove site-shell
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-29 14:42:28 +02:00
Jens Langhammer e7c6ff9499 admin: remove group views
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-29 12:03:11 +02:00
Jens Langhammer 533a719914 sources/oauth: migrate to webcomponents
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-24 20:35:00 +01:00
Jens Langhammer 56344cadeb web: add confirmation form for simple write-requests
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-23 15:07:45 +01:00
Jens Langhammer 6961089425 flows: add API to clear cache
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-23 10:37:41 +01:00
Jens Langhammer 3157bf63a6 root: upgrade to pylint 2.7
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-22 20:03:33 +01:00
Jens L fe7f23238c
Static SPA (#648)
* core: initial migration to /if

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* core: move jsi18n to api

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* tests: fix static URLs in tests

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* web: add new html files to rollup

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* web: fix rollup config and nginx config

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* core: add Impersonation support to user API

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* web: add banner for impersonation

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* tests: fix test_user function for new User API

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* flows: add background to API

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* web: set background from flow API

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* core: make root view login_required for redirect

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* flows: redirect to root-redirect instead of if-admin direct

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* api: add header to prevent Authorization Basic prompt in browser

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* web: redirect to root when user/me request fails

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-22 13:44:17 +01:00
Jens Langhammer 3d45956f15 web: fix display of scopes
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-20 19:05:10 +01:00
Jens Langhammer 4c49209f71 core: add user metrics API
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-20 17:30:01 +01:00
Jens Langhammer a57d524273 flows: add API for flow export
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-18 14:36:00 +01:00
Jens Langhammer 93bd95436f admin: remove user enable/disable views
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-18 13:09:00 +01:00
Jens Langhammer db9aa5d9dc admin: remove delete views
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-18 12:40:28 +01:00
Jens Langhammer 5b0d875a42 admin: re-add property-mapping test template
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-17 19:28:45 +01:00
Jens Langhammer 07ca82e599 admin: include git build hash in gh-* tags and show build hash in admin overview
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-16 14:42:01 +01:00
Jens L 2852fa3c5e
web: use generated API Client (#616)
* api: fix types for config API

* api: remove broken swagger UI

* admin: re-fix system task enum

* events: make event optional

* events: fix Schema for notification transport test

* flows: use APIView for Flow Executor

* core: fix schema for Metrics APIs

* web: rewrite to use generated API client

* web: generate API Client in CI

* admin: use x_cord and y_cord to prevent yaml issues

* events: fix linting errors

* web: don't lint generated code

* core: fix fields not being required in TypeSerializer

* flows: fix missing permission_classes

* web: cleanup

* web: fix rendering of graph on Overview page

* web: cleanup imports

* core: fix missing background image filter

* flows: fix flows not advancing properly

* stages/*: fix warnings during get_challenge

* web: send Flow response as JSON instead of FormData

* web: fix styles for horizontal tabs

* web: add base chart class and custom chart for application view

* root: generate ts client for e2e tests

* web: don't attempt to connect to websocket in selenium tests

* web: fix UserTokenList not being included in the build

* web: fix styling for static token list

* web: fix CSRF Token missing

* stages/authenticator_static: fix error when disable static tokens

* core: fix display issue when updating user info

* web: fix Flow executor not showing spinner when redirecting
2021-03-08 11:14:00 +01:00
Jens Langhammer ff5f5f65e8 web: fix date display issue 2021-03-03 21:53:30 +01:00
Jens Langhammer 466723573c api: fix types for config API 2021-03-03 20:05:43 +01:00
Jens Langhammer ea784d47f4 admin: fix mismatched Swagger schema 2021-03-03 17:44:47 +01:00
Jens Langhammer 74d240dfd4 admin: use spinner-button for modal forms 2021-03-02 20:37:23 +01:00
Jens Langhammer 3045cf1aef web: make user password-reset button use action button 2021-03-01 20:41:54 +01:00
Jens Langhammer 402afa1e85 Merge branch 'master' into stage-challenge
# Conflicts:
#	web/src/elements/buttons/SpinnerButton.ts
2021-02-27 18:10:08 +01:00
Jens Langhammer 10ef1c7e93 admin: fix missing success_url for clean views 2021-02-27 16:27:42 +01:00
Jens Langhammer 55af786852 Merge branch 'master' into stage-challenge 2021-02-23 23:17:03 +01:00
Jens Langhammer 9db445c3ee admin: fix success_urls 2021-02-23 22:53:05 +01:00
Jens Langhammer bdb86d7119 *: replace shortcuts.reverse with urls.reverse 2021-02-20 19:13:50 +01:00
Jens Langhammer dde303f13a admin: remove dead code 2021-02-20 00:27:22 +01:00
Jens Langhammer 854d94056e web: migrate remaining list views to web 2021-02-20 00:19:53 +01:00
Jens Langhammer 9b12895fab admin: remove unneeded code 2021-02-19 19:32:46 +01:00
Jens Langhammer 93478a55d7 web: migrate Stage List to web 2021-02-19 19:29:17 +01:00
Jens Langhammer 6597d5bd28 web: migrate Token List to web 2021-02-19 19:09:30 +01:00
Jens Langhammer fd28f37c0d web: migrate User list to web 2021-02-19 18:43:57 +01:00
Jens Langhammer d219f65e7a web: migrate System Task list to web 2021-02-19 18:12:23 +01:00
Jens Langhammer 865f652476 web: migrate Outpost Service Connection to web 2021-02-19 17:49:34 +01:00
Jens Langhammer 8008918d8b admin: remove PolicyBinding list 2021-02-19 17:37:19 +01:00
Jens Langhammer 75d0bd01c2 admin: remove StageBinding list 2021-02-19 17:19:48 +01:00
Jens Langhammer 029c6cd182 web: migrate Group list to web 2021-02-19 17:18:09 +01:00
Jens Langhammer 38bd05867d web: migrate Policy list to web 2021-02-19 17:05:02 +01:00
Jens Langhammer ecff810021 *: replace List from typing with normal list 2021-02-18 13:45:46 +01:00
Jens Langhammer fdde97cbbf *: replace Dict from typing with normal dict 2021-02-18 13:41:03 +01:00
Jens L 8708e487ae
stages: add WebAuthn stage (#550)
* core: add User.uid for globally unique user ID

* admin: fix ?next for Flow list

* stages: add initial webauthn implementation

* web: add ak-flow-submit event to submit flow stage

* web: show error message for webauthn registration

* admin: fix next param not redirecting correctly

* stages/webauthn: remove form

* stages/webauthn: add API

* web: update flow diagram on ak-refresh

* stages/webauthn: add initial authentication

* stages/webauthn: initial authentication implementation

* web: cleanup webauthn utils

* stages: rename otp_* to authenticator and move webauthn to authenticator

* docs: fix broken links

* stages/authenticator_*: fix template paths

* stages/authenticator_validate: add device classes

* stages/authenticator_webauthn: implement django_otp.devices

* stages/authenticator_*: update default stage names

* web: add button to create stage on flow page

* web: don't minify HTML, remove nbsp

* admin: fix typo in stage list

* stages/*: use common base class for stage serializer

* stages/authenticator_*: create default objects after rename

* tests/e2e: adjust stage order
2021-02-17 20:49:58 +01:00
Jens Langhammer 4cfcc48b23 admin: migrate certificate-keypair list to web 2021-02-16 23:16:52 +01:00
Jens Langhammer 60c244c31d core: add User.uid for globally unique user ID 2021-02-16 23:04:48 +01:00
Jens Langhammer 69e6221906 web: port flow list 2021-02-16 22:52:54 +01:00
Jens Langhammer 099197ba8c providers/saml: fix AuthnRequestsSigned and WantAssertionsSigned not loaded correctly 2021-02-16 21:30:15 +01:00
Jens Langhammer 6bcdf36ca6 admin: add ?provider for ApplicationCreateView 2021-02-16 20:00:52 +01:00
Jens Langhammer 35e8a0c374 admin: fix ?next for Flow list 2021-02-14 18:39:36 +01:00
Jens Langhammer 5417d0a90c *: bump pyright version 2021-02-12 10:19:38 +01:00
Jens Langhammer 417b5d61a4 root: add initial geoip implementation 2021-02-12 09:52:14 +01:00
Jens Langhammer 391eb9d469 admin: fix policy list not having a refresh button 2021-02-11 20:17:45 +01:00
Jens Langhammer 2d4e7ebab5 admin: remove unnecessary success_urls 2021-02-09 20:58:46 +01:00
Jens Langhammer ad91abe9de admin: remove old sources view 2021-02-09 16:17:48 +01:00
Jens Langhammer 43bab840ec web: fix sidebar being active when stage prompts is selected 2021-02-08 19:08:39 +01:00
Jens Langhammer f020b79384 admin: remove old code 2021-02-08 19:07:25 +01:00
Jens Langhammer 820f658b49 web: add outpost list page 2021-02-08 19:04:19 +01:00
Jens Langhammer 5d460a2537 admin: remove outposts list 2021-02-08 19:02:39 +01:00
Jens Langhammer 3ced67b151 sources/*: simplify source api 2021-02-08 10:25:59 +01:00
Jens Langhammer cd5631ec76 admin: fix link in source list 2021-02-08 10:25:59 +01:00
Jens Langhammer bf9826873e web: fix outpost item in sidebar being active on service connection views 2021-02-07 18:21:13 +01:00
Jens Langhammer 6869b3c16a admin: add button to generate certificate-key pair 2021-02-07 16:15:55 +01:00
Jens Langhammer bfc8e9200f providers/saml: split views into separate files 2021-02-07 13:39:33 +01:00
Jens Langhammer c4311abc9f web: fix link to provider list on overview page 2021-02-06 22:46:09 +01:00
Jens Langhammer ec42869e00 policies: add debug flag to PolicyRequest to prevent alerts from testing policies 2021-02-06 21:45:38 +01:00
Jens Langhammer 45963c2ffc admin: improve layout for policy testing 2021-02-06 21:43:14 +01:00
Jens Langhammer 4a5374d03f admin: remove provider list view 2021-02-06 20:54:50 +01:00
Jens Langhammer 3b536f6e55 admin: fix property-mapping views redirecting to invalid URL 2021-02-06 20:54:12 +01:00
Jens Langhammer 1101810fea admin: show more details for policy testing 2021-02-03 22:09:46 +01:00
Jens Langhammer 1ab5289e2e admin: add test view for property mappings 2021-02-03 21:58:56 +01:00
Jens Langhammer 4b24b185f2 admin: fix context not being passed correctly to policy test view 2021-02-03 21:40:03 +01:00
Jens Langhammer b74c08620a admin: add link to changelog to update events 2021-02-03 21:19:51 +01:00
Jens Langhammer 7fbf915e0a policies: fix application cached not being cleared correctly 2021-01-30 18:12:01 +01:00
Jens Langhammer da37b42bcf admin: fix providers not showing SAML Import on empty state 2021-01-28 22:16:50 +01:00
Jens Langhammer b1591618ae admin: handle FlowNonApplicableException during flow plan 2021-01-27 09:57:26 +01:00
Jens Langhammer 3d3a0cd9e3 events: create event when system task fails 2021-01-18 10:09:14 +01:00
Jens Langhammer 49d40d4337 admin: fix linting 2021-01-17 17:35:00 +01:00
Jens Langhammer 1c25f4f09b core: use tabs for user settings 2021-01-17 17:25:15 +01:00
Jens Langhammer aad3b43ac3 core: cache applications API 2021-01-16 22:38:09 +01:00
Jens Langhammer 192dbe05c4 events: triggers -> rules 2021-01-16 14:15:23 +01:00
Jens Langhammer 47ddf0d7f2 web: add UI for notification triggers 2021-01-12 22:26:57 +01:00
Jens Langhammer cac94792fa admin: add event transport forms 2021-01-12 22:03:33 +01:00
Jens L 82bb179bc2
root: global email settings (#448)
* root: make global email settings configurable

* stages/email: add use_global_settings

* stages/email: add test_email command to test email sending

* stages/email: update email template

* stages/email: simplify email template path

* stages/email: add support for user-supplied email templates

* stages/email: add tests for sending and templates

* stages/email: only add custom template if permissions are correct

* docs: add custom email template docs

* root: add /templates volume in docker-compose by default

* stages/email: fix form not allowing custom templates

* stages/email: use relative path for custom templates

* stages/email: check if all templates exist on startup, reset

* docs: add global email docs for docker-compose

* helm: add email config to helm chart

* helm: load all secrets with env prefix

* helm: move s3 and smtp secret to secret

* stages/email: fix test for relative name

* stages/email: add argument to send email from existing stage

* stages/email: set uid using slug of message id

* stages/email: ensure template validation ignores migration runs

* docs: add email troubleshooting docs

* stages/email: fix long task_name breaking task list
2021-01-05 00:41:10 +01:00
dependabot[bot] bc9e7e8b93
build(deps): bump structlog from 20.1.0 to 20.2.0 (#445)
* build(deps): bump structlog from 20.1.0 to 20.2.0

Bumps [structlog](https://github.com/hynek/structlog) from 20.1.0 to 20.2.0.
- [Release notes](https://github.com/hynek/structlog/releases)
- [Changelog](https://github.com/hynek/structlog/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/hynek/structlog/compare/20.1.0...20.2.0)

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

* *: use structlog.stdlib instead of structlog for type-hints

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-01-01 15:39:43 +01:00
Jens Langhammer e712719333 admin: fix reverse urls for application forms 2020-12-31 10:13:06 +01:00
Jens L a6d0c8c26c
providers/saml: Metadata Import (#432)
* providers/saml: add basic metadata parser

* providers/saml: add importer for Singing certificate, validate signature, add tests

* providers/saml: add provider name to form,

* web: don't use trailing slash for spa URLs

* providers/saml: formatting fixes

* sources/*: add verbose_name to source serializers

* admin: add button launch import modal
2020-12-27 22:38:04 +01:00
Jens Langhammer 49eb568d3c stages/invitation: remove invitation_created signal as model_created functions the same 2020-12-27 13:00:52 +01:00
Jens Langhammer 6a5a243dac stages/invitation: fix optional field being required 2020-12-25 23:41:34 +01:00
Jens Langhammer f192ee5052 core: fix anonymous user being included in User API 2020-12-25 22:42:53 +01:00
Jens L 79da2bf698
web: Table parity (#427)
* core: fix application API always being sorted by name

* web: add sorting to tables

* web: add search to TablePage

* core: add search to applications API

* core: add MetaNameSerializer

* *: fix signature for non-modal serializers

* providers/*: implement MetaNameSerializer

* web: implement full app list page, use as default in sidebar

* web: fix linting errors

* admin: remove old application list

* web: fix default sorting for application list

* web: fix spacing for search element in toolbar
2020-12-24 09:56:05 +01:00
Jens Langhammer 23f61e6b4f admin: fix policy test button in dark theme 2020-12-20 22:29:20 +01:00
Jens L a4dc6d13b5
events: rename audit to events and use for more metrics (#397)
* events: rename audit to events

* policies/expression: log expression exceptions as event

* policies/expression: add ExpressionPolicy Model to event when possible

* lib/expressions: ensure syntax errors are logged too

* lib: fix lint error

* policies: add execution_logging field

* core: add property mapping tests

* policies/expression: add full test

* policies/expression: fix attribute name

* policies: add execution_logging

* web: fix imports

* root: update swagger

* policies: use dataclass instead of dict for types

* events: add support for dataclass as event param

* events: add special keys which are never cleaned

* policies: add tests for process, don't clean full cache

* admin: create event when new version is seen

* events: move utils to separate file

* admin: add tests for admin tasks

* events: add .set_user method to ensure users have correct attributes set

* core: add test for property_mapping errors with user and request
2020-12-20 22:04:29 +01:00
Jens Langhammer 68adc2d5a5 admin: fix warning during swagger generation 2020-12-17 19:49:35 +01:00
Jens Langhammer f265c1f10b admin: fix cache clean views erroring 2020-12-17 19:03:32 +01:00
Jens Langhammer 0b36aad5c8 admin: ensure clean_expired_models is called during tests 2020-12-17 00:17:20 +01:00
Jens Langhammer a5e5e140d6 admin: add full api tests 2020-12-16 23:42:44 +01:00
Jens Langhammer 29f98abd00 root: update swagger 2020-12-16 23:32:14 +01:00
Jens Langhammer d7fa52ebf3 admin: remove old admin overview 2020-12-16 23:21:38 +01:00
Jens Langhammer 48438e28fd admin: separate overview API into WorkerAPI and VersionAPI 2020-12-16 22:53:53 +01:00
Jens Langhammer 885a2f0a58 web: add flow and policy cache card 2020-12-16 22:30:37 +01:00
Jens Langhammer cf46ee06b7 api: create dedicated api for cached flows and policies 2020-12-16 22:18:36 +01:00
Jens Langhammer 1179ba4ef2 api: remove counters from overview api and allow filtering on object apis 2020-12-16 22:00:29 +01:00