Commit Graph

173 Commits

Author SHA1 Message Date
Jens Langhammer 5955394c1d web: send response info when response is thrown
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-04-20 17:32:38 +02:00
Jens Langhammer 6821679fbc *: add support for bearer authentication on API
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-04-13 20:01:30 +02:00
Jens Langhammer 513d3c1c31 web: add support for PII for sentry, add user feedback dialog
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-04-13 18:35:26 +02:00
Jens Langhammer 8a7c414031 web/*: fix defaults for booleans to use first()
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-04-04 00:41:13 +02:00
Jens Langhammer 1b63e461cc web/api: log requests to console
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-04-03 23:06:57 +02:00
Jens Langhammer aaebd01058 admin: finalise migration
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-04-03 01:20:20 +02:00
Jens Langhammer 7fad2b6563 sources/oauth: migrate to web
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-04-02 15:42:07 +02:00
Jens Langhammer 83fc22005c *: remove swagger parameters from functions that don't accept them
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-04-02 13:39:22 +02:00
Jens Langhammer 5eb9b95ab5 providers/saml: migrate import to API, add API tests
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-04-01 19:28:12 +02:00
Jens Langhammer 4e3701ca8d web/admin: migrate provider forms
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-04-01 15:39:59 +02:00
Jens Langhammer 6a69425688 providers/oauth2: migrate scope mapping to web
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-31 23:07:57 +02:00
Jens Langhammer 656fe00302 outposts: migrate service connections to web
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-31 22:47:41 +02:00
Jens Langhammer e476186cbc web/admin: migrate policybinding form
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-31 19:41:42 +02:00
Jens Langhammer 25e043afea web/admin: migrate FlowStageBinding form to web
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-31 15:46:48 +02:00
Jens Langhammer f9382ed32e web/admin: fix linting errors
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-30 23:18:07 +02:00
Jens Langhammer cb0b5f7146 web/admin: migrate prompts to web
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-30 22:12:06 +02:00
Jens Langhammer 8a3b1ae29d web/admin: migrate invitations to web
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-30 22:11:30 +02:00
Jens Langhammer 3686cba6b4 root: fix build for static files during e2e
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-30 14:06:11 +02:00
Jens Langhammer 09aa5d6350 web/admin: migrate outposts to web
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-29 23:12:31 +02:00
Jens Langhammer e96d2fa666 web/admin: migrate flows to web forms
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-29 22:24:46 +02:00
Jens Langhammer 03ff495011 web/admin: migrate application form to web
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-29 21:39:53 +02:00
Jens Langhammer 7d74e1d2c4 *: revert to drf-yasg upstream
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-29 21:04:54 +02:00
Jens Langhammer 1e58941323 web/admin: migrate Event Transport to web
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-29 19:06:00 +02:00
Jens Langhammer dfff2a1134 web/admin: migrate crypto/certificatekeypair to web
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-29 17:35:13 +02:00
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 1b496dd472 web/admin: use new group form for create
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-29 12:02:58 +02:00
Jens Langhammer 95ecad8382 Merge branch 'next' into new-forms
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

# Conflicts:
#	web/src/api/legacy.ts
#	web/src/main.ts
#	web/src/pages/users/UserSettingsPage.ts
2021-03-27 23:21:16 +01:00
Jens Langhammer 035771de81 web: add middleware that shows message for failed API requests
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-27 23:18:51 +01:00
Jens Langhammer 1a53bc3de5 web: use FlowURLManager for cancel links
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-27 23:18:11 +01:00
Jens Langhammer 0b3980e564 web: fix URLs for FlowURLManager
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-25 10:07:10 +01:00
Jens Langhammer fe4791c216 web: initial implementation of new forms
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-25 00:05:11 +01:00
Jens Langhammer 1275f22599 web: add API Drawer
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-24 21:16:03 +01: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 ab5d6dbea1 sources/authenticator_webauthn: rewrite to webcomponent
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-24 18:00:37 +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 080282a0bc events: add better filters to event API
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-18 18:11:38 +01:00
Jens Langhammer 5f024eb1f7 web: use API as dedicated module
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-16 21:32:39 +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 Langhammer ff276fcc58 web: fix layout for search 2021-03-08 12:55:13 +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 5218332bce web: improve error handing for fetch in AdminLoginChart 2021-03-03 10:06:54 +01:00
Jens Langhammer 5c0ec7554b web: fix lists not being paginated 2021-03-02 15:12:26 +01:00
Jens Langhammer 792fa45dca providers/oauth2: add logout URL to Setup URLs API 2021-03-02 15:11:18 +01:00
Jens Langhammer 0478ae3da8 web: add missing SAML Source display page 2021-03-01 10:49:00 +01:00
Jens Langhammer 30a1b65e94 web: fix BoundPoliciesList not showing policy correctly 2021-02-28 10:19:19 +01:00
Jens Langhammer a1af93f8be web: disable CaptureConsoleIntegration 2021-02-27 22:09:10 +01:00
Jens Langhammer a33c7d7786 web: fix admin url for Prompt 2021-02-27 21:00:33 +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 1a052913e9 web: add sentry CaptureConsole 2021-02-27 17:18:42 +01:00
Jens Langhammer b9f409d6d9 stages/consent: migrate to SPA 2021-02-21 13:15:45 +01:00
Jens Langhammer 511f94fc7f *: cleanup code, return errors in challenge_invalid, fixup rendering 2021-02-20 23:34:10 +01:00
Jens Langhammer a3c9d5873c web: fix URL for flows cached count 2021-02-20 18:27:03 +01:00
Jens Langhammer 264c678eaa web: migrate user token list to web 2021-02-20 00:20:01 +01:00
Jens Langhammer 854d94056e web: migrate remaining list views to web 2021-02-20 00:19:53 +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 029c6cd182 web: migrate Group list to web 2021-02-19 17:18:09 +01:00
Jens Langhammer 71f771c22c core: add types API to propertymapping 2021-02-19 17:10:30 +01:00
Jens Langhammer 38bd05867d web: migrate Policy list to web 2021-02-19 17:05:02 +01:00
Jens Langhammer 44e51970e1 web: update for new cached actions 2021-02-19 16:37:50 +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 69e6221906 web: port flow list 2021-02-16 22:52:54 +01:00
Jens Langhammer f8ba623fc1 web: add more related links, add policy/user/group support for bindings 2021-02-16 20:52:59 +01:00
Jens Langhammer a353c6956e web: fix missing source create button 2021-02-10 20:13:12 +01:00
Jens Langhammer 2b7a22a29a core: add providers/types endpoint 2021-02-10 20:11:54 +01:00
Jens Langhammer f8bcdb26b3 web: PBResponse -> AKResponse 2021-02-09 17:04:55 +01:00
Jens Langhammer 45f1d95bf9 sources/oauth: add callback URL to api 2021-02-09 16:58:19 +01:00
Jens Langhammer 5dab198c47 web: add new sources view 2021-02-09 16:24:27 +01:00
Jens Langhammer 101f916247 web: add source list page 2021-02-09 10:22:49 +01:00
Jens Langhammer 78bcb90a1e outposts: ensure Outpost API is backwards compatible 2021-02-08 19:51:46 +01:00
Jens Langhammer 820f658b49 web: add outpost list page 2021-02-08 19:04:19 +01:00
Jens Langhammer 3ced67b151 sources/*: simplify source api 2021-02-08 10:25:59 +01:00
Jens Langhammer 91282c7bd8 web: add page for Proxy Provider 2021-02-06 18:57:25 +01:00
Jens Langhammer 830b8bcd5b web: add page for OAuth2 Provider 2021-02-06 18:39:15 +01:00
Jens Langhammer 6aa6615608 web: add view page for SAML Provider 2021-02-06 18:07:13 +01:00
Jens Langhammer 9f478bb46a web: fix type warnings 2021-02-04 21:10:13 +01:00
Jens Langhammer 9ca9e67ffa web: fix pagination not working correctly sometimes, fix pagination not showing when changing pages 2021-02-04 10:09:19 +01:00
Jens Langhammer 178417fe67 web: start implementing provider list 2021-02-04 10:09:19 +01:00
Jens L e25d03d8f4
Managed objects (#519)
* managed: add base manager and Ops

* core: use ManagedModel for Token and PropertyMapping

* providers/saml: implement managed objects for SAML Provider

* sources/ldap: migrate to managed

* providers/oauth2: migrate to managed

* providers/proxy: migrate to managed

* *: load .managed in apps

* managed: add reconcile task, run on startup

* providers/oauth2: fix import path for managed

* providers/saml: don't set FriendlyName when mapping is none

* *: use ObjectManager in tests to ensure objects exist

* ci: use vmImage ubuntu-latest

* providers/saml: add new mapping for username and user id

* tests: remove docker proxy

* tests/e2e: use updated attribute names

* docs: update SAML docs

* tests/e2e: fix remaining saml cases

* outposts: make tokens as managed

* *: make PropertyMapping SerializerModel

* web: add page for property-mappings

* web: add codemirror to common_styles because codemirror

* docs: fix member-of in nextcloud

* docs: nextcloud add admin

* web: fix refresh reloading data two times

* web: add loading lock to table to prevent double loads

* web: add ability to use null in QueryArgs (value will be skipped)

* web: add hide option to property mappings

* web: fix linting
2021-02-03 21:18:31 +01:00
Jens Langhammer 4d7e64c48c web: adjust trace sample rate 2021-02-02 15:50:29 +01:00
Jens Langhammer 8acb9dde5f web: add notification 'mark as seen' button 2021-01-16 19:09:03 +01:00
Jens Langhammer 36e8b1004c web: add update method 2021-01-16 19:08:20 +01:00
Jens Langhammer 192dbe05c4 events: triggers -> rules 2021-01-16 14:15:23 +01:00
Jens Langhammer 7f5caf901d expressions: set exception as message field 2021-01-14 21:58:10 +01:00
Jens Langhammer eef111bcfd events: disable policy cache for trigger 2021-01-14 17:39:59 +01:00
Jens Langhammer 1342266368 events: include full group in event notification 2021-01-14 17:22:02 +01:00
Jens Langhammer 47ddf0d7f2 web: add UI for notification triggers 2021-01-12 22:26:57 +01:00
Jens Langhammer cb36a3c8c7 web: add event transports UI 2021-01-12 22:12:16 +01:00
Jens Langhammer 6eed549577 web: add EventInfo case for policy_execution 2020-12-31 11:21:52 +01:00
Jens Langhammer 590597caf6 events: replace list view with SPA Page 2020-12-28 14:32:34 +01:00
Jens Langhammer 4fea0f5939 web: fix error when applications have no provider assigned 2020-12-27 19:40:50 +01:00
Jens L a9336f069c
flows: add diagrams (#415)
* flows: initial diagram implementation

* web: install flowchart.js, add flow diagram page

* web: adjust diagram colours for dark mode

* flows: add permission checks for diagram

* flows: fix formatting

* web: fix formatting for web

* flows: add fix when last stage has policy

* flows: add test for diagram

* web: flows/diagram: add support for light mode

* flows: make Flows's Diagram API return json, add more tests and fix swagger response
2020-12-26 17:05:11 +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 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 e6ccd4fa76 web: fix file name casing 2020-12-17 00:18:24 +01:00
Jens Langhammer 86aabba3ed web: fix file name casing 2020-12-17 00:18:03 +01:00