Commit Graph

203 Commits

Author SHA1 Message Date
Jens Langhammer 54c50f6446 policies: add test API
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-29 23:40:36 +02:00
Jens Langhammer 21ea527623 api: fix invalid swagger schema
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-29 22:34:24 +02:00
Jens Langhammer 3a2f285a87 flows: add API to debug-execute a flow and import flow
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-29 22:21:04 +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 372cf4a8cb api: add error responses to swagger schema
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-29 18:09:45 +02:00
Jens Langhammer b3d54b7620 api: cleanup args for @permission_required
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-29 17:33:55 +02:00
Jens Langhammer 5d37012075 api: allow @permission_required with no object permission
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-29 17:28:28 +02:00
Jens Langhammer 0793fff222 *: simplify API permissions checking, add API for user recovery
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-29 15:36:35 +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 ffd8c59c8e api: use common skeleton in swagger template
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-24 17:46:41 +01:00
Jens Langhammer 17f7a97ef3 sources/oauth2: add API For UserSourceConnection
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-24 14:46:08 +01:00
Jens Langhammer 33787d0685 web: remove pf-c-card-aggregate
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-23 16:05:37 +01:00
Jens Langhammer 0671d712fa policies: remove deprecated group_membership policy
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-23 14:43:24 +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 7e47906475 api: add Footer links to config API
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-21 17:35:00 +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 fe054136b1 website: add comparison based on vector.dev's site
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-18 22:09:54 +01:00
Jens Langhammer d82dfc65b7 api: replace rest_framework browser with rapi-doc
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-18 20:35:12 +01:00
Jens Langhammer 5b4c5d0f31 stages/consent: add API to get user's given consent
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-18 16:07:33 +01:00
Jens Langhammer 9ad10863de providers/oauth2: add API for auth codes and refresh tokens
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-03-18 15:59:38 +01:00
Jens Langhammer 34a3d81eff stages/authenticator_*: add API for authenticator devices 2021-03-09 10:38:07 +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 466723573c api: fix types for config API 2021-03-03 20:05:43 +01:00
Jens Langhammer f4580a1097 api: remove legacy messages API as its WS only 2021-03-03 15:02:20 +01:00
Jens Langhammer c002c4b610 api: make pagination required 2021-03-03 10:37:03 +01:00
Jens Langhammer 28cd08bbba core: make user settings use vertical tabs 2021-03-03 10:05:12 +01:00
Jens Langhammer 3cb0575a1e root: fix swagger pagination not matching API 2021-03-03 09:28:22 +01:00
Jens Langhammer 743aaea15e policies: improve logging 2021-03-02 15:04:31 +01:00
Jens Langhammer c65b2944b3 stages/reputation: add API for user and IP Score 2021-03-01 20:22:37 +01:00
Jens Langhammer 2ae5a81c15 stages/deny: add deny stage 2021-03-01 20:16:54 +01:00
Jens Langhammer 391ee10cb8 Merge branch 'master' into stage-challenge
# Conflicts:
#	authentik/api/v2/urls.py
2021-02-20 12:51:10 +01:00
Jens Langhammer 854d94056e web: migrate remaining list views to web 2021-02-20 00:19:53 +01:00
Jens Langhammer a76cbf8b70 flows: separate flows api into smaller files 2021-02-19 19:14:16 +01:00
Jens Langhammer bd6a473d4f flows: add cached as action to flow API 2021-02-19 16:34:12 +01:00
Jens Langhammer b229b2f40d Merge branch 'master' into stage-challenge
# Conflicts:
#	authentik/stages/authenticator_validate/stage.py
#	authentik/stages/identification/stage.py
2021-02-18 14:04:35 +01:00
Jens Langhammer e4f0613fab *: replace tuple and set from typing with normal 2021-02-18 13:53:57 +01:00
Jens Langhammer eb01b42425 flows: mount executor under api, implement initial challenge design 2021-02-17 23:52:49 +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 efc46f52e6 outposts: move health to API 2021-02-08 19:01:10 +01:00
Jens Langhammer 0f5e6d0d8c api: add dark theme for API Browser 2021-02-06 18:09:24 +01:00
Jens Langhammer 192dbe05c4 events: triggers -> rules 2021-01-16 14:15:23 +01:00
Jens L 1ccf6dcf6f
events: Notifications (#418)
* events: initial alerting implementation

* policies: move error handling to process, ensure policy UUID is saved

* policies: add tests for error handling in PolicyProcess

* events: improve loop detection

* events: add API for action and trigger

* policies: ensure http_request is not used in context

* events: adjust unittests for user handling

* policies/event_matcher: add policy type

* events: add API tests

* events: add middleware tests

* core: make application's provider not required

* outposts: allow blank kubeconfig

* outposts: validate kubeconfig before saving

* api: fix formatting

* stages/invitation: remove invitation_created signal as model_created functions the same

* stages/invitation: ensure created_by is set when creating from API

* events: rebase migrations on master

* events: fix missing Alerts from API

* policies: fix unittests

* events: add tests for alerts

* events: rename from alerting to notifications

* events: add ability to specify severity of notification created

* policies/event_matcher: Add app field to match on event app

* policies/event_matcher: fix EventMatcher not being included in API

* core: use objects.none() when get_queryset is used

* events: use m2m for multiple transports, create notification object in task

* events: add default triggers

* events: fix migrations return value

* events: fix notification_transport not being in the correct queue

* stages/email: allow sending of email without backend

* events: implement sending via webhook + slack/discord + email
2021-01-11 18:43:59 +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 c95f8e8418 api: fix formatting 2020-12-24 16:26:01 +01:00
Jens Langhammer 4998ccbe41 root: update license 2020-12-24 16:01:55 +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 48438e28fd admin: separate overview API into WorkerAPI and VersionAPI 2020-12-16 22:53:53 +01:00
Jens Langhammer cf46ee06b7 api: create dedicated api for cached flows and policies 2020-12-16 22:18:36 +01:00
Jens Langhammer 07082cb3aa tests/integration: add tests for Docker outpost using TLS connection 2020-12-13 21:30:33 +01:00
Jens Langhammer 9e4f840d2d api: add token tests 2020-12-13 20:38:56 +01:00
dependabot[bot] 2caa1e7650
build(deps-dev): bump bandit from 1.6.2 to 1.6.3 (#371)
* build(deps-dev): bump bandit from 1.6.2 to 1.6.3

Bumps [bandit](https://github.com/PyCQA/bandit) from 1.6.2 to 1.6.3.
- [Release notes](https://github.com/PyCQA/bandit/releases)
- [Commits](https://github.com/PyCQA/bandit/compare/1.6.2...1.6.3)

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

* root: update for new bandit version

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jens Langhammer <jens.langhammer@beryju.org>
2020-12-07 11:21:07 +01:00
Jens L 1cfe1aff13
wip: rename to authentik (#361)
* root: initial rename

* web: rename custom element prefix

* root: rename external functions with pb_ prefix

* root: fix formatting

* root: replace domain with goauthentik.io

* proxy: update path

* root: rename remaining prefixes

* flows: rename file extension

* root: pbadmin -> akadmin

* docs: fix image filenames

* lifecycle: ignore migration files

* ci: copy default config from current source before loading last tagged

* *: new sentry dsn

* tests: fix missing python3.9-dev package

* root: add additional migrations for service accounts created by outposts

* core: mark system-created service accounts with attribute

* policies/expression: fix pb_ replacement not working

* web: fix last linting errors, add lit-analyse

* policies/expressions: fix lint errors

* web: fix sidebar display on screens where not all items fit

* proxy: attempt to fix proxy pipeline

* proxy: use go env GOPATH to get gopath

* lib: fix user_default naming inconsistency

* docs: add upgrade docs

* docs: update screenshots to use authentik

* admin: fix create button on empty-state of outpost

* web: fix modal submit not refreshing SiteShell and Table

* web: fix height of app-card and height of generic icon

* web: fix rendering of subtext

* admin: fix version check error not being caught

* web: fix worker count not being shown

* docs: update screenshots

* root: new icon

* web: fix lint error

* admin: fix linting error

* root: migrate coverage config to pyproject
2020-12-05 22:08:42 +01:00