From 28cededb9031c9dd93e8785d7867bea37a9b5b54 Mon Sep 17 00:00:00 2001 From: Jens Langhammer Date: Tue, 2 Mar 2021 21:49:04 +0100 Subject: [PATCH 01/23] docs: update integration for harbor --- .../integrations/services/harbor/harbor.png | Bin 121658 -> 120474 bytes .../integrations/services/harbor/index.md | 12 ++++++------ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/website/docs/integrations/services/harbor/harbor.png b/website/docs/integrations/services/harbor/harbor.png index df8434f48e67506194393d2a50f5ceffd7177596..fd36b209b2a5f7b90e169386cacd047ca50fe72e 100644 GIT binary patch literal 120474 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

Q$AEk8%D>a>-F? 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

aRb#1r)hVU+wdi>-_Aim^^#Jzm)$atj`-;btB@J z^!M25A&L!0)PEF}A|TMbV#&koZF7FME#~om!~qp2f;PLx_saKyKqr)L^uHHOx<&?1 z(ywpMA_mXTP(Kv={Tsn41sU9(4%Y{ipINw(_?L{oM0y9h=VJ>g!2l&0e08JA^xq@( zukwXl^pJdNLGQ1;=Vw=M)&~8d$jqBJwvOjUDRG?$2{fxs6XpL9mJ$pR8`-<@rM=Ufxbq*Q=+$36h~A^ZyNuh$RnT# zjkpt@w;r$uF6|}q-=~5&9uT(ST8FrysyHI)U83NPL;dj9Cwgigsx>Ef)r_TdBK3B|1utrV>cWM=k`9oL^F!w0S z4KLzEfTGL^^;iDrgSTLfC}Nc)KLj(){l*{G)uSzrSgp~svE-(Qlo=G^|K52s7NE(M zJvVo-E=JWoM*S&|7?|Y;kLk6*s~h@By?>aq;ca>dNxSd~IS z00C1Q-di2}ha#7OBKRNm9vjAhwOD?r@(*EE9*ZM#3h^G0#ezA(I(r)YM^Q##?eBSS zgnz97ld1jp4mjuC1ZXtiQ+SHV5te7`tgS%w&LOl!8dC} zIMqOAz2YvG-xlw4-bA1=zq_&CU(>;yAY8KfqbL~z;LYT Date: Tue, 2 Mar 2021 22:04:53 +0100 Subject: [PATCH 02/23] docs: add apache guacamole integration --- .../services/apache-guacamole/index.mdx | 62 +++++++++++++++++++ website/sidebars.js | 1 + 2 files changed, 63 insertions(+) create mode 100644 website/docs/integrations/services/apache-guacamole/index.mdx diff --git a/website/docs/integrations/services/apache-guacamole/index.mdx b/website/docs/integrations/services/apache-guacamole/index.mdx new file mode 100644 index 000000000..d3bc40130 --- /dev/null +++ b/website/docs/integrations/services/apache-guacamole/index.mdx @@ -0,0 +1,62 @@ +--- +title: Apache Guacamoleâ„¢ +--- + +## What is Apache Guacamoleâ„¢ + +From https://guacamole.apache.org/ + +:::note +Apache Guacamole is a clientless remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH. +::: + +## Preparation + +The following placeholders will be used: + +- `guacamole.company` is the FQDN of the Guacamole install. +- `authentik.company` is the FQDN of the authentik install. + +Create an OAuth2/OpenID provider with the following parameters: + +- Client Type: `Confidential` +- JWT Algorithm: `RS256` +- Redirect URIs: `https://guacamole.company/` (depending on your Tomcat setup, you might have to add `/guacamole/` if the application runs in a subfolder) +- Scopes: OpenID, Email and Profile + +Note the Client ID value. Create an application, using the provider you've created above. + +## Guacamole + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + + + The docker containers are configured via environment variables. The following variables are required: + +```yaml +OPENID_AUTHORIZATION_ENDPOINT: https://authentik.company/application/o/authorize/ +OPENID_CLIENT_ID: # client ID from above +OPENID_ISSUER: https://authentik.company/application/o/apache-guacamole/ +OPENID_JWKS_ENDPOINT: https://authentik.company/application/o/apache-guacamole/jwks/ +OPENID_REDIRECT_URI: https://guacamole.company/ # This must match the redirect URI above +``` + + + Standalone Guacamole is configured using the `guacamole.properties` file. Add the following settings: + +``` +openid-authorization-endpoint=https://authentik.company/application/o/authorize/ +openid-client-id=# client ID from above +openid-issuer=https://authentik.company/application/o/apache-guacamole/ +openid-jwks-endpoint=https://authentik.company/application/o/apache-guacamole/jwks/ +openid-redirect-uri=https://guacamole.company/ # This must match the redirect URI above +``` + + diff --git a/website/sidebars.js b/website/sidebars.js index 1ecace20e..1ef5549ac 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -106,6 +106,7 @@ module.exports = { type: "category", label: "as Provider", items: [ + "integrations/services/apache-guacamole/index", "integrations/services/aws/index", "integrations/services/awx-tower/index", "integrations/services/gitlab/index", From d3f8d7120f32505d85c604fa4b4bd372b8527453 Mon Sep 17 00:00:00 2001 From: Jens Langhammer Date: Tue, 2 Mar 2021 22:10:54 +0100 Subject: [PATCH 03/23] docs: cleanup, add 2021.3 to sidebar --- website/docs/expressions/index.md | 4 +- .../docs/expressions/reference/user-object.md | 20 +++++----- .../docs/flow/stages/identification/index.md | 4 +- .../docs/integrations/services/aws/index.md | 10 ++--- .../integrations/services/awx-tower/index.md | 12 +++--- .../integrations/services/gitlab/index.md | 12 +++--- .../services/grafana/{index.md => index.mdx} | 29 ++++++++++---- .../services/home-assistant/index.md | 8 ++-- .../integrations/services/nextcloud/index.md | 16 ++++---- .../integrations/services/sentry/index.md | 14 +++---- .../integrations/services/sonarr/index.md | 8 ++-- .../integrations/services/tautulli/index.md | 8 ++-- .../services/ubuntu-landscape/index.md | 4 +- .../veeam-enterprise-manager/index.md | 4 +- .../services/vmware-vcenter/index.md | 14 +++---- .../sources/active-directory/index.md | 30 +++++++------- website/docs/outposts/outposts.md | 8 ++-- website/docs/policies/expression.md | 22 +++++----- website/docs/policies/index.md | 10 ++--- website/docs/property-mappings/expression.md | 6 +-- website/docs/providers/oauth2.md | 1 - website/docs/releases/0.10.md | 24 +++++------ website/docs/releases/0.11.md | 12 +++--- website/docs/releases/0.9.md | 8 ++-- website/docs/sources.md | 40 +++++++++---------- website/sidebars.js | 1 + 26 files changed, 171 insertions(+), 158 deletions(-) rename website/docs/integrations/services/grafana/{index.md => index.mdx} (78%) diff --git a/website/docs/expressions/index.md b/website/docs/expressions/index.md index 04876de6c..ca305aab9 100644 --- a/website/docs/expressions/index.md +++ b/website/docs/expressions/index.md @@ -12,8 +12,8 @@ These functions/objects are available wherever expressions are used. For more sp ## Global objects -- `ak_logger`: structlog BoundLogger. ([ref](https://www.structlog.org/en/stable/api.html#structlog.BoundLogger)) -- `requests`: requests Session object. ([ref](https://requests.readthedocs.io/en/master/user/advanced/)) +- `ak_logger`: structlog BoundLogger. ([ref](https://www.structlog.org/en/stable/api.html#structlog.BoundLogger)) +- `requests`: requests Session object. ([ref](https://requests.readthedocs.io/en/master/user/advanced/)) ## Generally available functions diff --git a/website/docs/expressions/reference/user-object.md b/website/docs/expressions/reference/user-object.md index 6563f429e..7f2ab93a0 100644 --- a/website/docs/expressions/reference/user-object.md +++ b/website/docs/expressions/reference/user-object.md @@ -4,16 +4,16 @@ title: User Object The User object has the following attributes: -- `username`: User's username. -- `email` User's email. -- `name` User's display name. -- `is_staff` Boolean field if user is staff. -- `is_active` Boolean field if user is active. -- `date_joined` Date user joined/was created. -- `password_change_date` Date password was last changed. -- `attributes` Dynamic attributes. -- `group_attributes` Merged attributes of all groups the user is member of and the user's own attributes. -- `ak_groups` This is a queryset of all the user's groups. +- `username`: User's username. +- `email` User's email. +- `name` User's display name. +- `is_staff` Boolean field if user is staff. +- `is_active` Boolean field if user is active. +- `date_joined` Date user joined/was created. +- `password_change_date` Date password was last changed. +- `attributes` Dynamic attributes. +- `group_attributes` Merged attributes of all groups the user is member of and the user's own attributes. +- `ak_groups` This is a queryset of all the user's groups. You can do additional filtering like `user.ak_groups.filter(name__startswith='test')`, see [here](https://docs.djangoproject.com/en/3.1/ref/models/querysets/#id4) diff --git a/website/docs/flow/stages/identification/index.md b/website/docs/flow/stages/identification/index.md index facbb6c65..3ce5ec69e 100644 --- a/website/docs/flow/stages/identification/index.md +++ b/website/docs/flow/stages/identification/index.md @@ -11,8 +11,8 @@ This stage provides a ready-to-go form for users to identify themselves. Select which fields the user can use to identify themselves. Multiple fields can be specified and separated with a comma. Valid choices: -- email -- username +- email +- username ### Template diff --git a/website/docs/integrations/services/aws/index.md b/website/docs/integrations/services/aws/index.md index 95ae45bfc..4d2d5060d 100644 --- a/website/docs/integrations/services/aws/index.md +++ b/website/docs/integrations/services/aws/index.md @@ -12,14 +12,14 @@ Amazon Web Services (AWS) is the world’s most comprehensive and broadly adopte The following placeholders will be used: -- `authentik.company` is the FQDN of the authentik install. +- `authentik.company` is the FQDN of the authentik install. Create an application in authentik and note the slug, as this will be used later. Create a SAML provider with the following parameters: -- ACS URL: `https://signin.aws.amazon.com/saml` -- Audience: `urn:amazon:webservices` -- Issuer: `authentik` -- Binding: `Post` +- ACS URL: `https://signin.aws.amazon.com/saml` +- Audience: `urn:amazon:webservices` +- Issuer: `authentik` +- Binding: `Post` You can of course use a custom signing certificate, and adjust durations. diff --git a/website/docs/integrations/services/awx-tower/index.md b/website/docs/integrations/services/awx-tower/index.md index c566c7b6e..7176db458 100644 --- a/website/docs/integrations/services/awx-tower/index.md +++ b/website/docs/integrations/services/awx-tower/index.md @@ -20,15 +20,15 @@ AWX is the open-source version of Tower. The term "AWX" will be used interchange The following placeholders will be used: -- `awx.company` is the FQDN of the AWX/Tower install. -- `authentik.company` is the FQDN of the authentik install. +- `awx.company` is the FQDN of the AWX/Tower install. +- `authentik.company` is the FQDN of the authentik install. Create an application in authentik and note the slug, as this will be used later. Create a SAML provider with the following parameters: -- ACS URL: `https://awx.company/sso/complete/saml/` -- Audience: `awx` -- Service Provider Binding: Post -- Issuer: `https://awx.company/sso/metadata/saml/` +- ACS URL: `https://awx.company/sso/complete/saml/` +- Audience: `awx` +- Service Provider Binding: Post +- Issuer: `https://awx.company/sso/metadata/saml/` You can of course use a custom signing certificate, and adjust durations. diff --git a/website/docs/integrations/services/gitlab/index.md b/website/docs/integrations/services/gitlab/index.md index 097769ef4..4ff1177f4 100644 --- a/website/docs/integrations/services/gitlab/index.md +++ b/website/docs/integrations/services/gitlab/index.md @@ -14,15 +14,15 @@ GitLab is a complete DevOps platform, delivered as a single application. This ma The following placeholders will be used: -- `gitlab.company` is the FQDN of the GitLab Install -- `authentik.company` is the FQDN of the authentik Install +- `gitlab.company` is the FQDN of the GitLab Install +- `authentik.company` is the FQDN of the authentik Install Create an application in authentik and note the slug, as this will be used later. Create a SAML provider with the following parameters: -- ACS URL: `https://gitlab.company/users/auth/saml/callback` -- Audience: `https://gitlab.company` -- Issuer: `https://gitlab.company` -- Binding: `Post` +- ACS URL: `https://gitlab.company/users/auth/saml/callback` +- Audience: `https://gitlab.company` +- Issuer: `https://gitlab.company` +- Binding: `Post` You can of course use a custom signing certificate, and adjust durations. To get the value for `idp_cert_fingerprint`, you can use a tool like [this](https://www.samltool.com/fingerprint.php). diff --git a/website/docs/integrations/services/grafana/index.md b/website/docs/integrations/services/grafana/index.mdx similarity index 78% rename from website/docs/integrations/services/grafana/index.md rename to website/docs/integrations/services/grafana/index.mdx index 03ca9253d..eae0227cb 100644 --- a/website/docs/integrations/services/grafana/index.md +++ b/website/docs/integrations/services/grafana/index.mdx @@ -14,21 +14,31 @@ Grafana is a multi-platform open source analytics and interactive visualization The following placeholders will be used: -- `grafana.company` is the FQDN of the Grafana install. -- `authentik.company` is the FQDN of the authentik install. +- `grafana.company` is the FQDN of the Grafana install. +- `authentik.company` is the FQDN of the authentik install. Create an application in authentik. Create an OAuth2/OpenID provider with the following parameters: -- Client Type: `Confidential` -- JWT Algorithm: `RS256` -- Scopes: OpenID, Email and Profile -- RSA Key: Select any available key -- Redirect URIs: `https://grafana.company/login/generic_oauth` +- Client Type: `Confidential` +- JWT Algorithm: `RS256` +- Scopes: OpenID, Email and Profile +- RSA Key: Select any available key +- Redirect URIs: `https://grafana.company/login/generic_oauth` Note the Client ID and Client Secret values. Create an application, using the provider you've created above. Note the slug of the application you've created. ## Grafana +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + + If your Grafana is running in docker, set the following environment variables: ```yaml @@ -45,7 +55,8 @@ environment: # Optionally enable auto-login GF_AUTH_OAUTH_AUTO_LOGIN: "true" ``` - + + If you are using a config-file instead, you have to set these options: ```ini @@ -64,3 +75,5 @@ auth_url = https://authentik.company/application/o/authorize/ token_url = https://authentik.company/application/o/token/ api_url = https://authentik.company/application/o/userinfo/ ``` + + diff --git a/website/docs/integrations/services/home-assistant/index.md b/website/docs/integrations/services/home-assistant/index.md index 4546e0e21..1275e5b71 100644 --- a/website/docs/integrations/services/home-assistant/index.md +++ b/website/docs/integrations/services/home-assistant/index.md @@ -14,8 +14,8 @@ Open source home automation that puts local control and privacy first. Powered b The following placeholders will be used: -- `hass.company` is the FQDN of the Home-Assistant install. -- `authentik.company` is the FQDN of the authentik install. +- `hass.company` is the FQDN of the Home-Assistant install. +- `authentik.company` is the FQDN of the authentik install. :::note This setup uses https://github.com/BeryJu/hass-auth-header and the authentik proxy for authentication. When this [PR](https://github.com/home-assistant/core/pull/32926) is merged, this will no longer be necessary. @@ -42,13 +42,13 @@ additionalHeaders: Create a Proxy Provider with the following values -- Internal host +- Internal host If Home-Assistant is running in docker, and you're deploying the authentik proxy on the same host, set the value to `http://homeassistant:8123`, where Home-Assistant is the name of your container. If Home-Assistant is running on a different server than where you are deploying the authentik proxy, set the value to `http://hass.company:8123`. -- External host +- External host Set this to the external URL you will be accessing Home-Assistant from. diff --git a/website/docs/integrations/services/nextcloud/index.md b/website/docs/integrations/services/nextcloud/index.md index 08e2ec4ce..621912f1d 100644 --- a/website/docs/integrations/services/nextcloud/index.md +++ b/website/docs/integrations/services/nextcloud/index.md @@ -22,17 +22,17 @@ In case something goes wrong with the configuration, you can use the URL `http:/ The following placeholders will be used: -- `nextcloud.company` is the FQDN of the NextCloud install. -- `authentik.company` is the FQDN of the authentik install. +- `nextcloud.company` is the FQDN of the NextCloud install. +- `authentik.company` is the FQDN of the authentik install. Create an application in authentik and note the slug, as this will be used later. Create a SAML provider with the following parameters: -- ACS URL: `https://nextcloud.company/apps/user_saml/saml/acs` -- Issuer: `https://authentik.company` -- Service Provider Binding: `Post` -- Audience: `https://nextcloud.company/apps/user_saml/saml/metadata` -- Signing Keypair: Select any certificate you have. -- Property mappings: Select all Managed mappings. +- ACS URL: `https://nextcloud.company/apps/user_saml/saml/acs` +- Issuer: `https://authentik.company` +- Service Provider Binding: `Post` +- Audience: `https://nextcloud.company/apps/user_saml/saml/metadata` +- Signing Keypair: Select any certificate you have. +- Property mappings: Select all Managed mappings. You can of course use a custom signing certificate, and adjust durations. diff --git a/website/docs/integrations/services/sentry/index.md b/website/docs/integrations/services/sentry/index.md index ce318683b..833742917 100644 --- a/website/docs/integrations/services/sentry/index.md +++ b/website/docs/integrations/services/sentry/index.md @@ -18,16 +18,16 @@ better software faster with Sentry. Won’t you join them? The following placeholders will be used: -- `sentry.company` is the FQDN of the Sentry install. -- `authentik.company` is the FQDN of the authentik install. +- `sentry.company` is the FQDN of the Sentry install. +- `authentik.company` is the FQDN of the authentik install. Create an application in authentik. Create a SAML Provider with the following values -- ACS URL: `https://sentry.company/saml/acs//` -- Audience: `https://sentry.company/saml/metadata//` -- Issuer: `authentik` -- Service Provider Binding: `Post` -- Property Mapping: Select all Managed Mappings +- ACS URL: `https://sentry.company/saml/acs//` +- Audience: `https://sentry.company/saml/metadata//` +- Issuer: `authentik` +- Service Provider Binding: `Post` +- Property Mapping: Select all Managed Mappings ## Sentry diff --git a/website/docs/integrations/services/sonarr/index.md b/website/docs/integrations/services/sonarr/index.md index d3144c95e..26dbb8911 100644 --- a/website/docs/integrations/services/sonarr/index.md +++ b/website/docs/integrations/services/sonarr/index.md @@ -20,18 +20,18 @@ Sonarr is a PVR for Usenet and BitTorrent users. It can monitor multiple RSS fee The following placeholders will be used: -- `sonarr.company` is the FQDN of the Sonarr install. -- `authentik.company` is the FQDN of the authentik install. +- `sonarr.company` is the FQDN of the Sonarr install. +- `authentik.company` is the FQDN of the authentik install. Create a Proxy Provider with the following values -- Internal host +- Internal host If Sonarr is running in docker, and you're deploying the authentik proxy on the same host, set the value to `http://sonarr:8989`, where sonarr is the name of your container. If Sonarr is running on a different server than where you are deploying the authentik proxy, set the value to `http://sonarr.company:8989`. -- External host +- External host Set this to the external URL you will be accessing Sonarr from. diff --git a/website/docs/integrations/services/tautulli/index.md b/website/docs/integrations/services/tautulli/index.md index 32d472d46..ec26ab525 100644 --- a/website/docs/integrations/services/tautulli/index.md +++ b/website/docs/integrations/services/tautulli/index.md @@ -14,8 +14,8 @@ Tautulli is a 3rd party application that you can run alongside your Plex Media S The following placeholders will be used: -- `tautulli.company` is the FQDN of the Tautulli install. -- `authentik.company` is the FQDN of the authentik install. +- `tautulli.company` is the FQDN of the Tautulli install. +- `authentik.company` is the FQDN of the authentik install. ## authentik Setup @@ -30,13 +30,13 @@ Add all Tautulli users to the Group. You should also create a Group Membership P Create an application in authentik. Create a Proxy provider with the following parameters: -- Internal host +- Internal host If Tautulli is running in docker, and you're deploying the authentik proxy on the same host, set the value to `http://tautulli:3579`, where tautulli is the name of your container. If Tautulli is running on a different server to where you are deploying the authentik proxy, set the value to `http://tautulli.company:3579`. -- External host +- External host Set this to the external URL you will be accessing Tautulli from. diff --git a/website/docs/integrations/services/ubuntu-landscape/index.md b/website/docs/integrations/services/ubuntu-landscape/index.md index 42f789356..a05c4ca15 100644 --- a/website/docs/integrations/services/ubuntu-landscape/index.md +++ b/website/docs/integrations/services/ubuntu-landscape/index.md @@ -18,8 +18,8 @@ This requires authentik 0.10.3 or newer. The following placeholders will be used: -- `landscape.company` is the FQDN of the Landscape server. -- `authentik.company` is the FQDN of the authentik install. +- `landscape.company` is the FQDN of the Landscape server. +- `authentik.company` is the FQDN of the authentik install. Landscape uses the OpenID-Connect Protocol for single-sign on. diff --git a/website/docs/integrations/services/veeam-enterprise-manager/index.md b/website/docs/integrations/services/veeam-enterprise-manager/index.md index f709dc03b..e4333a565 100644 --- a/website/docs/integrations/services/veeam-enterprise-manager/index.md +++ b/website/docs/integrations/services/veeam-enterprise-manager/index.md @@ -14,8 +14,8 @@ Veeam Backup Enterprise Manager (Enterprise Manager) is a management and reporti The following placeholders will be used: -- `veeam.company` is the FQDN of the Veeam Enterprise Manager install. -- `authentik.company` is the FQDN of the authentik install. +- `veeam.company` is the FQDN of the Veeam Enterprise Manager install. +- `authentik.company` is the FQDN of the authentik install. You will need an existing group or multiple in authentik to assign roles in Veeam Enterprise Manager to. diff --git a/website/docs/integrations/services/vmware-vcenter/index.md b/website/docs/integrations/services/vmware-vcenter/index.md index 9774325e3..2597f5ddc 100644 --- a/website/docs/integrations/services/vmware-vcenter/index.md +++ b/website/docs/integrations/services/vmware-vcenter/index.md @@ -26,8 +26,8 @@ It seems that the vCenter still needs to be joined to the Active Directory Domai The following placeholders will be used: -- `vcenter.company` is the FQDN of the vCenter server. -- `authentik.company` is the FQDN of the authentik install. +- `vcenter.company` is the FQDN of the vCenter server. +- `authentik.company` is the FQDN of the authentik install. Since vCenter only allows OpenID-Connect in combination with Active Directory, it is recommended to have authentik sync with the same Active Directory. @@ -53,11 +53,11 @@ Under _Sources_, click _Edit_ and ensure that "authentik default Active Director Under _Providers_, create an OAuth2/OpenID provider with these settings: -- Client Type: Confidential -- JWT Algorithm: RS256 -- Redirect URI: `https://vcenter.company/ui/login/oauth2/authcode` -- Sub Mode: If your Email address Schema matches your UPN, select "Based on the User's Email...", otherwise select "Based on the User's UPN...". -- Scopes: Select the Scope Mapping you've created in Step 1 +- Client Type: Confidential +- JWT Algorithm: RS256 +- Redirect URI: `https://vcenter.company/ui/login/oauth2/authcode` +- Sub Mode: If your Email address Schema matches your UPN, select "Based on the User's Email...", otherwise select "Based on the User's UPN...". +- Scopes: Select the Scope Mapping you've created in Step 1 ![](./authentik_setup.png) diff --git a/website/docs/integrations/sources/active-directory/index.md b/website/docs/integrations/sources/active-directory/index.md index 4d2cbe6b0..78fd8e3db 100644 --- a/website/docs/integrations/sources/active-directory/index.md +++ b/website/docs/integrations/sources/active-directory/index.md @@ -6,8 +6,8 @@ title: Active Directory The following placeholders will be used: -- `ad.company` is the Name of the Active Directory domain. -- `authentik.company` is the FQDN of the authentik install. +- `ad.company` is the Name of the Active Directory domain. +- `authentik.company` is the FQDN of the authentik install. ## Active Directory Setup @@ -33,25 +33,25 @@ In authentik, create a new LDAP Source in Administration -> Sources. Use these settings: -- Server URI: `ldap://ad.company` +- Server URI: `ldap://ad.company` For authentik to be able to write passwords back to Active Directory, make sure to use `ldaps://` -- Bind CN: `@ad.company` -- Bind Password: The password you've given the user above -- Base DN: The base DN which you want authentik to sync -- Property mappings: Control/Command-select all Mappings which start with "authentik default LDAP" and "authentik default Active Directory" -- Group property mappings: Select "authentik default LDAP Mapping: Name" +- Bind CN: `@ad.company` +- Bind Password: The password you've given the user above +- Base DN: The base DN which you want authentik to sync +- Property mappings: Control/Command-select all Mappings which start with "authentik default LDAP" and "authentik default Active Directory" +- Group property mappings: Select "authentik default LDAP Mapping: Name" The other settings might need to be adjusted based on the setup of your domain. -- Addition User/Group DN: Additional DN which is _prepended_ to your Base DN for user synchronization. -- Addition Group DN: Additional DN which is _prepended_ to your Base DN for group synchronization. -- User object filter: Which objects should be considered users. -- Group object filter: Which objects should be considered groups. -- Group membership field: Which user field saves the group membership -- Object uniqueness field: A user field which contains a unique Identifier -- Sync parent group: If enabled, all synchronized groups will be given this group as a parent. +- Addition User/Group DN: Additional DN which is _prepended_ to your Base DN for user synchronization. +- Addition Group DN: Additional DN which is _prepended_ to your Base DN for group synchronization. +- User object filter: Which objects should be considered users. +- Group object filter: Which objects should be considered groups. +- Group membership field: Which user field saves the group membership +- Object uniqueness field: A user field which contains a unique Identifier +- Sync parent group: If enabled, all synchronized groups will be given this group as a parent. After you save the source, a synchronization will start in the background. When its done, you cen see the summary on the System Tasks page. diff --git a/website/docs/outposts/outposts.md b/website/docs/outposts/outposts.md index ca27c5a1f..a00fe1980 100644 --- a/website/docs/outposts/outposts.md +++ b/website/docs/outposts/outposts.md @@ -10,12 +10,12 @@ Upon creation, a service account and a token is generated. The service account o authentik can manage the deployment, updating and general lifecycle of an Outpost. To communicate with the underlying platforms on which the outpost is deployed, authentik has "Service Connections". -- If you've deployed authentik on docker-compose, authentik automatically create a Service Connection for the local docker socket. -- If you've deployed authentik on Kubernetes, with `kubernetesIntegration` set to true (default), authentik automatically creates a Service Connection for the local Kubernetes Cluster. +- If you've deployed authentik on docker-compose, authentik automatically create a Service Connection for the local docker socket. +- If you've deployed authentik on Kubernetes, with `kubernetesIntegration` set to true (default), authentik automatically creates a Service Connection for the local Kubernetes Cluster. To deploy an outpost with these service connections, simply selected them during the creation of an Outpost. A background task is started, which creates the container/deployment. You can see that Status on the System Tasks page. To deploy an outpost manually, see: -- [Kubernetes](./manual-deploy-kubernetes.md) -- [docker-compose](./manual-deploy-docker-compose.md) +- [Kubernetes](./manual-deploy-kubernetes.md) +- [docker-compose](./manual-deploy-docker-compose.md) diff --git a/website/docs/policies/expression.md b/website/docs/policies/expression.md index cd02648f4..b2890ca44 100644 --- a/website/docs/policies/expression.md +++ b/website/docs/policies/expression.md @@ -23,14 +23,14 @@ return False ### Context variables -- `request`: A PolicyRequest object, which has the following properties: - - `request.user`: The current user, against which the policy is applied. ([ref](../expressions/reference/user-object.md)) - - `request.http_request`: The Django HTTP Request. ([ref](https://docs.djangoproject.com/en/3.0/ref/request-response/#httprequest-objects)) - - `request.obj`: A Django Model instance. This is only set if the policy is ran against an object. - - `request.context`: A dictionary with dynamic data. This depends on the origin of the execution. -- `geoip`: `geoip2.models.City` object, which is added when GeoIP is enabled. -- `ak_is_sso_flow`: Boolean which is true if request was initiated by authenticating through an external provider. -- `ak_client_ip`: Client's IP Address or 255.255.255.255 if no IP Address could be extracted. Can be [compared](../expressions/index.md#comparing-ip-addresses), for example +- `request`: A PolicyRequest object, which has the following properties: + - `request.user`: The current user, against which the policy is applied. ([ref](../expressions/reference/user-object.md)) + - `request.http_request`: The Django HTTP Request. ([ref](https://docs.djangoproject.com/en/3.0/ref/request-response/#httprequest-objects)) + - `request.obj`: A Django Model instance. This is only set if the policy is ran against an object. + - `request.context`: A dictionary with dynamic data. This depends on the origin of the execution. +- `geoip`: `geoip2.models.City` object, which is added when GeoIP is enabled. +- `ak_is_sso_flow`: Boolean which is true if request was initiated by authenticating through an external provider. +- `ak_client_ip`: Client's IP Address or 255.255.255.255 if no IP Address could be extracted. Can be [compared](../expressions/index.md#comparing-ip-addresses), for example ```python return ak_client_ip in ip_network('10.0.0.0/24') @@ -40,6 +40,6 @@ Additionally, when the policy is executed from a flow, every variable from the f This includes the following: -- `prompt_data`: Data which has been saved from a prompt stage or an external source. -- `application`: The application the user is in the process of authorizing. -- `pending_user`: The currently pending user +- `prompt_data`: Data which has been saved from a prompt stage or an external source. +- `application`: The application the user is in the process of authorizing. +- `pending_user`: The currently pending user diff --git a/website/docs/policies/index.md b/website/docs/policies/index.md index 078501684..bfae39d35 100644 --- a/website/docs/policies/index.md +++ b/website/docs/policies/index.md @@ -25,11 +25,11 @@ See [Expression Policy](expression.md). This policy allows you to specify password rules, such as length and required characters. The following rules can be set: -- Minimum amount of uppercase characters. -- Minimum amount of lowercase characters. -- Minimum amount of symbols characters. -- Minimum length. -- Symbol charset (define which characters are counted as symbols). +- Minimum amount of uppercase characters. +- Minimum amount of lowercase characters. +- Minimum amount of symbols characters. +- Minimum length. +- Symbol charset (define which characters are counted as symbols). ### Have I Been Pwned Policy diff --git a/website/docs/property-mappings/expression.md b/website/docs/property-mappings/expression.md index b50199093..37c8cdfdc 100644 --- a/website/docs/property-mappings/expression.md +++ b/website/docs/property-mappings/expression.md @@ -10,6 +10,6 @@ These variables are available in addition to the common variables/functions defi ### Context Variables -- `user`: The current user. This may be `None` if there is no contextual user. ([ref](../expressions/reference/user-object.md)) -- `request`: The current request. This may be `None` if there is no contextual request. ([ref](https://docs.djangoproject.com/en/3.0/ref/request-response/#httprequest-objects)) -- Other arbitrary arguments given by the provider, this is documented on the Provider/Source. +- `user`: The current user. This may be `None` if there is no contextual user. ([ref](../expressions/reference/user-object.md)) +- `request`: The current request. This may be `None` if there is no contextual request. ([ref](https://docs.djangoproject.com/en/3.0/ref/request-response/#httprequest-objects)) +- Other arbitrary arguments given by the provider, this is documented on the Provider/Source. diff --git a/website/docs/providers/oauth2.md b/website/docs/providers/oauth2.md index 6f9fe707d..cf2dca183 100644 --- a/website/docs/providers/oauth2.md +++ b/website/docs/providers/oauth2.md @@ -12,7 +12,6 @@ Scopes can be configured using Scope Mappings, a type of [Property Mappings](../ | Token | `/application/o/token/` | | User Info | `/application/o/userinfo/` | | End Session | `/application/o/end-session/` | -| Introspect | `/application/o/end-session/` | | JWKS | `/application/o//jwks/` | | OpenID Configuration | `/application/o//.well-known/openid-configuration` | diff --git a/website/docs/releases/0.10.md b/website/docs/releases/0.10.md index 9b2720139..755b308e8 100644 --- a/website/docs/releases/0.10.md +++ b/website/docs/releases/0.10.md @@ -4,33 +4,33 @@ title: Release 0.10 This update brings a lot of big features, such as: -- New OAuth2/OpenID Provider +- New OAuth2/OpenID Provider This new provider merges both OAuth2 and OpenID. It is based on the codebase of the old provider, which has been simplified and cleaned from the ground up. Support for Property Mappings has also been added. Because of this change, OpenID and OAuth2 Providers will have to be re-created. -- Proxy Provider +- Proxy Provider Due to this new OAuth2 Provider, the Application Gateway Provider, now simply called "Proxy Provider" has been revamped as well. The new authentik Proxy integrates more tightly with authentik via the new Outposts system. The new proxy also supports multiple applications per proxy instance, can configure TLS based on authentik Keypairs, and more. See [Proxy](../providers/proxy.md) -- Outpost System +- Outpost System This is a new Object type, currently used only by the Proxy Provider. It manages the creation and permissions of service accounts, which are used by the outposts to communicate with authentik. See [Outposts](../outposts/outposts.md) -- Flow Import/Export +- Flow Import/Export Flows can now be imported and exported. This feature can be used as a backup system, or to share complex flows with other people. Example flows have also been added to the documentation to help you get going with authentik. ## Under the hood -- authentik now runs on Django 3.1 and Channels with complete ASGI enabled -- uwsgi has been replaced with Gunicorn and uvicorn -- Elastic APM has been replaced with Sentry Performance metrics -- Flow title is now configurable separately from the name -- All logging output is now json +- authentik now runs on Django 3.1 and Channels with complete ASGI enabled +- uwsgi has been replaced with Gunicorn and uvicorn +- Elastic APM has been replaced with Sentry Performance metrics +- Flow title is now configurable separately from the name +- All logging output is now json ## Upgrading @@ -54,7 +54,7 @@ docker-compose up -d A few options have changed: -- `error_reporting` was changed from a simple boolean to a dictionary: +- `error_reporting` was changed from a simple boolean to a dictionary: ```yaml error_reporting: @@ -63,8 +63,8 @@ error_reporting: send_pii: false ``` -- The `apm` and `monitoring` blocks have been removed. -- `serverReplicas` and `workerReplicas` have been added +- The `apm` and `monitoring` blocks have been removed. +- `serverReplicas` and `workerReplicas` have been added ### Upgrading diff --git a/website/docs/releases/0.11.md b/website/docs/releases/0.11.md index 6ec5c079c..c162a7b7c 100644 --- a/website/docs/releases/0.11.md +++ b/website/docs/releases/0.11.md @@ -4,18 +4,18 @@ title: Release 0.11 This update brings these headline features: -- Add Backup and Restore, currently only externally schedulable, documented [here](../maintenance/backups/index.md) -- New Admin Dashboard with more metrics and Charts +- Add Backup and Restore, currently only externally schedulable, documented [here](../maintenance/backups/index.md) +- New Admin Dashboard with more metrics and Charts Shows successful and failed logins from the last 24 hours, as well as the most used applications -- Add search to all table views -- Outpost now supports a Docker Controller, which installs the Outpost on the same host as authentik, updates and manages it -- Add Token Identifier +- Add search to all table views +- Outpost now supports a Docker Controller, which installs the Outpost on the same host as authentik, updates and manages it +- Add Token Identifier Tokens now have an identifier which is used to reference to them, so the Primary key is not shown in URLs -- `core/applications/list` API now shows applications the user has access to via policies +- `core/applications/list` API now shows applications the user has access to via policies ## Upgrading diff --git a/website/docs/releases/0.9.md b/website/docs/releases/0.9.md index 09c38fca1..2cb638b34 100644 --- a/website/docs/releases/0.9.md +++ b/website/docs/releases/0.9.md @@ -6,14 +6,14 @@ Due to some database changes that had to be rather sooner than later, there is n To export data from your old instance, run this command: -- docker-compose +- docker-compose ``` docker-compose exec server ./manage.py dumpdata -o /tmp/authentik_dump.json authentik_core.User authentik_core.Group authentik_crypto.CertificateKeyPair authentik_audit.Event otp_totp.totpdevice otp_static.staticdevice otp_static.statictoken docker cp authentik_server_1:/tmp/authentik_dump.json authentik_dump.json ``` -- kubernetes +- kubernetes ``` kubectl exec -it authentik-web-... -- ./manage.py dumpdata -o /tmp/authentik_dump.json authentik_core.User authentik_core.Group authentik_crypto.CertificateKeyPair authentik_audit.Event otp_totp.totpdevice otp_static.staticdevice otp_static.statictoken @@ -22,14 +22,14 @@ kubectl cp authentik-web-...:/tmp/authentik_dump.json authentik_dump.json After that, create a new authentik instance in a different namespace (kubernetes) or in a different folder (docker-compose). Once this instance is running, you can use the following commands to restore the data. On docker-compose, you still have to run the `migrate` command, to create all database structures. -- docker-compose +- docker-compose ``` docker cp authentik_dump.json new_authentik_server_1:/tmp/authentik_dump.json docker-compose exec server ./manage.py loaddata /tmp/authentik_dump.json ``` -- kubernetes +- kubernetes ``` kubectl cp authentik_dump.json authentik-web-...:/tmp/authentik_dump.json diff --git a/website/docs/sources.md b/website/docs/sources.md index 97c45c707..d5e6a179b 100644 --- a/website/docs/sources.md +++ b/website/docs/sources.md @@ -10,12 +10,12 @@ Sources allow you to connect authentik to an existing user directory. They can a This source allows users to enroll themselves with an external OAuth-based Identity Provider. The generic provider expects the endpoint to return OpenID-Connect compatible information. Vendor-specific implementations have their own OAuth Source. -- Policies: Allow/Forbid users from linking their accounts with this provider. -- Request Token URL: This field is used for OAuth v1 implementations and will be provided by the provider. -- Authorization URL: This value will be provided by the provider. -- Access Token URL: This value will be provided by the provider. -- Profile URL: This URL is called by authentik to retrieve user information upon successful authentication. -- Consumer key/Consumer secret: These values will be provided by the provider. +- Policies: Allow/Forbid users from linking their accounts with this provider. +- Request Token URL: This field is used for OAuth v1 implementations and will be provided by the provider. +- Authorization URL: This value will be provided by the provider. +- Access Token URL: This value will be provided by the provider. +- Profile URL: This URL is called by authentik to retrieve user information upon successful authentication. +- Consumer key/Consumer secret: These values will be provided by the provider. ## SAML Source @@ -29,17 +29,17 @@ This source allows you to import users and groups from an LDAP Server. For Active Directory, follow the [Active Directory Integration](https://goauthentik.io/docs/integrations/sources/active-directory/index) ::: -- Server URI: URI to your LDAP server/Domain Controller. -- Bind CN: CN of the bind user. This can also be a UPN in the format of `user@domain.tld`. -- Bind password: Password used during the bind process. -- Enable StartTLS: Enables StartTLS functionality. To use LDAPS instead, use port `636`. -- Base DN: Base DN used for all LDAP queries. -- Addition User DN: Prepended to the base DN for user queries. -- Addition Group DN: Prepended to the base DN for group queries. -- User object filter: Consider objects matching this filter to be users. -- Group object filter: Consider objects matching this filter to be groups. -- User group membership field: This field contains the user's group memberships. -- Object uniqueness field: This field contains a unique identifier. -- Sync groups: Enable/disable group synchronization. Groups are synced in the background every 5 minutes. -- Sync parent group: Optionally set this group as the parent group for all synced groups. An example use case of this would be to import Active Directory groups under a root `imported-from-ad` group. -- Property mappings: Define which LDAP properties map to which authentik properties. The default set of property mappings is generated for Active Directory. See also [LDAP Property Mappings](property-mappings/index.md#ldap-property-mapping) +- Server URI: URI to your LDAP server/Domain Controller. +- Bind CN: CN of the bind user. This can also be a UPN in the format of `user@domain.tld`. +- Bind password: Password used during the bind process. +- Enable StartTLS: Enables StartTLS functionality. To use LDAPS instead, use port `636`. +- Base DN: Base DN used for all LDAP queries. +- Addition User DN: Prepended to the base DN for user queries. +- Addition Group DN: Prepended to the base DN for group queries. +- User object filter: Consider objects matching this filter to be users. +- Group object filter: Consider objects matching this filter to be groups. +- User group membership field: This field contains the user's group memberships. +- Object uniqueness field: This field contains a unique identifier. +- Sync groups: Enable/disable group synchronization. Groups are synced in the background every 5 minutes. +- Sync parent group: Optionally set this group as the parent group for all synced groups. An example use case of this would be to import Active Directory groups under a root `imported-from-ad` group. +- Property mappings: Define which LDAP properties map to which authentik properties. The default set of property mappings is generated for Active Directory. See also [LDAP Property Mappings](property-mappings/index.md#ldap-property-mapping) diff --git a/website/sidebars.js b/website/sidebars.js index 1ef5549ac..0c963a4aa 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -142,6 +142,7 @@ module.exports = { "releases/0.14", "releases/2021.1", "releases/2021.2", + "releases/2021.3", ], }, { From 5c739ebed247bb55e0201a46d6d26301fc80f8eb Mon Sep 17 00:00:00 2001 From: Jens Langhammer Date: Tue, 2 Mar 2021 22:20:05 +0100 Subject: [PATCH 04/23] docs: add authenticator_webauthn stage docs --- .../docs/flow/stages/authenticator_static/index.md | 2 +- website/docs/flow/stages/authenticator_totp/index.md | 4 ++-- .../docs/flow/stages/authenticator_validate/index.md | 11 ++++++++++- .../docs/flow/stages/authenticator_webauthn/index.md | 7 +++++++ website/sidebars.js | 1 + 5 files changed, 21 insertions(+), 4 deletions(-) create mode 100644 website/docs/flow/stages/authenticator_webauthn/index.md diff --git a/website/docs/flow/stages/authenticator_static/index.md b/website/docs/flow/stages/authenticator_static/index.md index ee43781d6..03d8fd8ef 100644 --- a/website/docs/flow/stages/authenticator_static/index.md +++ b/website/docs/flow/stages/authenticator_static/index.md @@ -1,5 +1,5 @@ --- -title: Static Authenticator stage +title: Static Authentication Setup stage --- This stage configures static OTP Tokens, which can be used as a backup method to time-based OTP tokens. diff --git a/website/docs/flow/stages/authenticator_totp/index.md b/website/docs/flow/stages/authenticator_totp/index.md index 6d4961144..03410e013 100644 --- a/website/docs/flow/stages/authenticator_totp/index.md +++ b/website/docs/flow/stages/authenticator_totp/index.md @@ -1,7 +1,7 @@ --- -title: TOTP stage +title: TOTP Authentication Setup stage --- This stage configures a time-based OTP Device, such as Google Authenticator or Authy. -You can configure how many digest should be used for the OTP Token. +You can configure how many digits should be used for the OTP Token. diff --git a/website/docs/flow/stages/authenticator_validate/index.md b/website/docs/flow/stages/authenticator_validate/index.md index 9dffa3dc1..05b714b9c 100644 --- a/website/docs/flow/stages/authenticator_validate/index.md +++ b/website/docs/flow/stages/authenticator_validate/index.md @@ -2,7 +2,16 @@ title: Authenticator Validation Stage --- -This stage validates an already configured OTP Device. This device has to be configured using any of the other authenticator stages: +This stage validates an already configured Authenticator Device. This device has to be configured using any of the other authenticator stages: - [TOTP authenticator stage](../authenticator_totp/index.md) - [Static authenticator stage](../authenticator_static/index.md). +- [WebAuth authenticator stage](../authenticator_webauthn/index.md). + +You can select which type of device classes are allowed. + +Using the `Not configured action`, you can choose what happens when a user does not have any matching devices. + +- Skip: Validation is skipped and the flow continues +- Deny: Access is denied, the flow execution ends +- Configure: This option requires a *Configuration stage* to be set. The validation stage will be marked as successful, and the configuration stage will be injected into the flow. diff --git a/website/docs/flow/stages/authenticator_webauthn/index.md b/website/docs/flow/stages/authenticator_webauthn/index.md new file mode 100644 index 000000000..15369cfbe --- /dev/null +++ b/website/docs/flow/stages/authenticator_webauthn/index.md @@ -0,0 +1,7 @@ +--- +title: WebAuthn Authentication Setup stage +--- + +This stage configures a WebAuthn-based Authenticator. This can either be a browser, biometrics or a Security stick like a YubiKey. + +There are no stage-specific settings. diff --git a/website/sidebars.js b/website/sidebars.js index 0c963a4aa..ce45e2a00 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -49,6 +49,7 @@ module.exports = { "flow/stages/authenticator_static/index", "flow/stages/authenticator_totp/index", "flow/stages/authenticator_validate/index", + "flow/stages/authenticator_webauthn/index", "flow/stages/captcha/index", "flow/stages/email/index", "flow/stages/identification/index", From 23de9df2a5ae41014e737fac36cdb04d348c3f79 Mon Sep 17 00:00:00 2001 From: Jens Langhammer Date: Tue, 2 Mar 2021 22:20:54 +0100 Subject: [PATCH 05/23] stages/authenticator_validate: cleanup --- .../stages/authenticator_validate/forms.py | 31 ------------------- 1 file changed, 31 deletions(-) diff --git a/authentik/stages/authenticator_validate/forms.py b/authentik/stages/authenticator_validate/forms.py index 12e5ea97d..d4213a123 100644 --- a/authentik/stages/authenticator_validate/forms.py +++ b/authentik/stages/authenticator_validate/forms.py @@ -1,9 +1,7 @@ """OTP Validate stage forms""" from django import forms from django.utils.translation import gettext_lazy as _ -from django_otp import match_token -from authentik.core.models import User from authentik.flows.models import NotConfiguredAction from authentik.stages.authenticator_validate.models import ( AuthenticatorValidateStage, @@ -11,35 +9,6 @@ from authentik.stages.authenticator_validate.models import ( ) -class ValidationForm(forms.Form): - """OTP Validate stage forms""" - - user: User - - code = forms.CharField( - label=_("Please enter the token from your device."), - widget=forms.TextInput( - attrs={ - "autocomplete": "one-time-code", - "placeholder": "123456", - "autofocus": "autofocus", - } - ), - ) - - def __init__(self, user, *args, **kwargs): - super().__init__(*args, **kwargs) - self.user = user - - def clean_code(self): - """Validate code against all confirmed devices""" - code = self.cleaned_data.get("code") - device = match_token(self.user, code) - if not device: - raise forms.ValidationError(_("Invalid Token")) - return code - - class AuthenticatorValidateStageForm(forms.ModelForm): """OTP Validate stage forms""" From e2a771bdaa9103a4b740d7c0f09cd5028c753683 Mon Sep 17 00:00:00 2001 From: Jens Langhammer Date: Tue, 2 Mar 2021 22:22:47 +0100 Subject: [PATCH 06/23] docs: update screenshot in captcha stage --- .../stages/authenticator_validate/forms.py | 1 - .../flow/stages/captcha/captcha-admin.png | Bin 143061 -> 117971 bytes 2 files changed, 1 deletion(-) diff --git a/authentik/stages/authenticator_validate/forms.py b/authentik/stages/authenticator_validate/forms.py index d4213a123..16223a326 100644 --- a/authentik/stages/authenticator_validate/forms.py +++ b/authentik/stages/authenticator_validate/forms.py @@ -1,6 +1,5 @@ """OTP Validate stage forms""" from django import forms -from django.utils.translation import gettext_lazy as _ from authentik.flows.models import NotConfiguredAction from authentik.stages.authenticator_validate.models import ( diff --git a/website/docs/flow/stages/captcha/captcha-admin.png b/website/docs/flow/stages/captcha/captcha-admin.png index f33a52972a7e06b1e53c1158ad72634610573990..41cee855f23311175ad20c1f210cc573b2af06aa 100644 GIT binary patch literal 117971 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⁡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 literal 143061 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 >e}*J7x>Gtb6K+oUMpQHc!=u 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 z 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 From a0753bfc887ba1aed97d780fc085357e6b8fde8a Mon Sep 17 00:00:00 2001 From: Jens Langhammer Date: Tue, 2 Mar 2021 22:25:28 +0100 Subject: [PATCH 07/23] docs: add docs for deny stage --- website/docs/flow/stages/deny.md | 10 ++++++++++ website/sidebars.js | 1 + 2 files changed, 11 insertions(+) create mode 100644 website/docs/flow/stages/deny.md diff --git a/website/docs/flow/stages/deny.md b/website/docs/flow/stages/deny.md new file mode 100644 index 000000000..f5877336a --- /dev/null +++ b/website/docs/flow/stages/deny.md @@ -0,0 +1,10 @@ +--- +title: Deny stage +--- + +This stage stops the execution of a flow. This can be used to conditionally deny users access to a flow, +even if they are not signed in (and permissions can't be checked via groups). + +:::caution +To effectively use this stage, make sure to **disable** *Evaluate on plan* on the Stage binding. +::: diff --git a/website/sidebars.js b/website/sidebars.js index ce45e2a00..e0141684c 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -51,6 +51,7 @@ module.exports = { "flow/stages/authenticator_validate/index", "flow/stages/authenticator_webauthn/index", "flow/stages/captcha/index", + "flow/stages/deny", "flow/stages/email/index", "flow/stages/identification/index", "flow/stages/invitation/index", From b2449757f9adb7890e6e6d3cc8c802995fc44fba Mon Sep 17 00:00:00 2001 From: Jens Langhammer Date: Tue, 2 Mar 2021 22:30:21 +0100 Subject: [PATCH 08/23] web/stages/authenticator_validate: only show back button when multiple challenges --- .../AuthenticatorValidateStage.ts | 6 ++++-- .../AuthenticatorValidateStageCode.ts | 21 ++++++++++++------- .../AuthenticatorValidateStageWebAuthn.ts | 21 ++++++++++++------- 3 files changed, 30 insertions(+), 18 deletions(-) diff --git a/web/src/elements/stages/authenticator_validate/AuthenticatorValidateStage.ts b/web/src/elements/stages/authenticator_validate/AuthenticatorValidateStage.ts index e9acacf76..a342c9c28 100644 --- a/web/src/elements/stages/authenticator_validate/AuthenticatorValidateStage.ts +++ b/web/src/elements/stages/authenticator_validate/AuthenticatorValidateStage.ts @@ -119,13 +119,15 @@ export class AuthenticatorValidateStage extends BaseStage implements StageHost { return html` + .deviceChallenge=${this.selectedDeviceChallenge} + .showBackButton=${(this.challenge?.device_challenges.length || []) > 1}> `; case DeviceClasses.WEBAUTHN: return html` + .deviceChallenge=${this.selectedDeviceChallenge} + .showBackButton=${(this.challenge?.device_challenges.length || []) > 1}> `; } } diff --git a/web/src/elements/stages/authenticator_validate/AuthenticatorValidateStageCode.ts b/web/src/elements/stages/authenticator_validate/AuthenticatorValidateStageCode.ts index 712c9677b..a54799627 100644 --- a/web/src/elements/stages/authenticator_validate/AuthenticatorValidateStageCode.ts +++ b/web/src/elements/stages/authenticator_validate/AuthenticatorValidateStageCode.ts @@ -14,6 +14,9 @@ export class AuthenticatorValidateStageWebCode extends BaseStage { @property({ attribute: false }) deviceChallenge?: DeviceChallenge; + @@property({ type: Boolean }) + showBackButton = false; + static get styles(): CSSResult[] { return COMMON_STYLES; } @@ -61,14 +64,16 @@ export class AuthenticatorValidateStageWebCode extends BaseStage {

`; } diff --git a/web/src/elements/stages/authenticator_validate/AuthenticatorValidateStageWebAuthn.ts b/web/src/elements/stages/authenticator_validate/AuthenticatorValidateStageWebAuthn.ts index 276352e15..089e47a73 100644 --- a/web/src/elements/stages/authenticator_validate/AuthenticatorValidateStageWebAuthn.ts +++ b/web/src/elements/stages/authenticator_validate/AuthenticatorValidateStageWebAuthn.ts @@ -21,6 +21,9 @@ export class AuthenticatorValidateStageWebAuthn extends BaseStage { @property() authenticateMessage = ""; + @property({type: Boolean}) + showBackButton = false; + static get styles(): CSSResult[] { return COMMON_STYLES; } @@ -98,14 +101,16 @@ export class AuthenticatorValidateStageWebAuthn extends BaseStage {
`; } From 662d117b66e178fd1a2585d8f2eaac496422a7d8 Mon Sep 17 00:00:00 2001 From: Jens Langhammer Date: Wed, 3 Mar 2021 00:05:15 +0100 Subject: [PATCH 09/23] root: replace ghcr with harbor for expiry --- azure-pipelines.yml | 2 +- outpost/azure-pipelines.yml | 2 +- web/azure-pipelines.yml | 2 +- .../authenticator_validate/AuthenticatorValidateStageCode.ts | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 76f8c2bd5..aaebffe25 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -378,7 +378,7 @@ stages: python ./scripts/az_do_set_branch.py - task: Docker@2 inputs: - containerRegistry: 'GHCR' + containerRegistry: 'beryjuorg-harbor' repository: 'beryju/authentik' command: 'buildAndPush' Dockerfile: 'Dockerfile' diff --git a/outpost/azure-pipelines.yml b/outpost/azure-pipelines.yml index 87dfb1526..d8f9a75d9 100644 --- a/outpost/azure-pipelines.yml +++ b/outpost/azure-pipelines.yml @@ -98,7 +98,7 @@ stages: python ./scripts/az_do_set_branch.py - task: Docker@2 inputs: - containerRegistry: 'GHCR' + containerRegistry: 'beryjuorg-harbor' repository: 'beryju/authentik-proxy' command: 'buildAndPush' Dockerfile: 'outpost/proxy.Dockerfile' diff --git a/web/azure-pipelines.yml b/web/azure-pipelines.yml index 0b9f3da8c..83e5b19a8 100644 --- a/web/azure-pipelines.yml +++ b/web/azure-pipelines.yml @@ -78,7 +78,7 @@ stages: python ./scripts/az_do_set_branch.py - task: Docker@2 inputs: - containerRegistry: 'GHCR' + containerRegistry: 'beryjuorg-harbor' repository: 'beryju/authentik-static' command: 'buildAndPush' Dockerfile: 'web/Dockerfile' diff --git a/web/src/elements/stages/authenticator_validate/AuthenticatorValidateStageCode.ts b/web/src/elements/stages/authenticator_validate/AuthenticatorValidateStageCode.ts index a54799627..af7442b20 100644 --- a/web/src/elements/stages/authenticator_validate/AuthenticatorValidateStageCode.ts +++ b/web/src/elements/stages/authenticator_validate/AuthenticatorValidateStageCode.ts @@ -14,7 +14,7 @@ export class AuthenticatorValidateStageWebCode extends BaseStage { @property({ attribute: false }) deviceChallenge?: DeviceChallenge; - @@property({ type: Boolean }) + @property({ type: Boolean }) showBackButton = false; static get styles(): CSSResult[] { From dc1c1b9569f053fbae2f39aa2a847e4d2dd2cc89 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 3 Mar 2021 08:58:24 +0100 Subject: [PATCH 10/23] build(deps): bump boto3 from 1.17.18 to 1.17.19 (#609) --- Pipfile.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/Pipfile.lock b/Pipfile.lock index b0f3d3d4f..bce7ec084 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -95,10 +95,10 @@ }, "autobahn": { "hashes": [ - "sha256:884f79c50fdc55ade2c315946a9caa145e8b10075eee9d2c2594ea5e8f5226aa", - "sha256:bf7a9d302a34d0f719d43c57f65ca1f2f5c982dd6ea0c11e1e190ef6f43710fe" + "sha256:9195df8af03b0ff29ccd4b7f5abbde957ee90273465942205f9a1bad6c3f07ac", + "sha256:e126c1f583e872fb59e79d36977cfa1f2d0a8a79f90ae31f406faae7664b8e03" ], - "version": "==21.2.2" + "version": "==21.3.1" }, "automat": { "hashes": [ @@ -116,18 +116,18 @@ }, "boto3": { "hashes": [ - "sha256:3570a3c0fbd80bcb30449f87cf9d2f7abb67fac2a5e317d002f9921c59be9b17", - "sha256:ceff2f32ba05acc9ee35a6dd82e29ea285d63e889bed39a6ba7a700146f43749" + "sha256:c9513a9ea00f8d17ecdc02c391ae956bf0f990aa07deec11c421607c09b294e1", + "sha256:f84ca60e9605af69022f039c035b33d519531eeaac52724b9223a5465f4a8b6b" ], "index": "pypi", - "version": "==1.17.18" + "version": "==1.17.19" }, "botocore": { "hashes": [ - "sha256:51900b10da4ae45be4b16045e5b2ff7d1158a7955d9d7cc5e5a9ba3170f10586", - "sha256:b181f32d9075e5419a89fa9636ce95946c15459c9bfadfabb53ca902fc8072b8" + "sha256:135b5f30e6662b46d804f993bf31d9c7769c6c0848321ed0aa0393f5b9c19a94", + "sha256:8e42c78d2eb888551635309158c04ef2648a96d8c2c70dbce7712c6ce8629759" ], - "version": "==1.20.18" + "version": "==1.20.19" }, "cachetools": { "hashes": [ @@ -1249,10 +1249,10 @@ }, "websocket-client": { "hashes": [ - "sha256:0fc45c961324d79c781bab301359d5a1b00b13ad1b10415a4780229ef71a5549", - "sha256:d735b91d6d1692a6a181f2a8c9e0238e5f6373356f561bb9dc4c7af36f452010" + "sha256:44b5df8f08c74c3d82d28100fdc81f4536809ce98a17f0757557813275fbb663", + "sha256:63509b41d158ae5b7f67eb4ad20fecbb4eee99434e73e140354dc3ff8e09716f" ], - "version": "==0.57.0" + "version": "==0.58.0" }, "websockets": { "hashes": [ From 3cb0575a1e6c66d3a53a80190fd79e685dfa8e84 Mon Sep 17 00:00:00 2001 From: Jens Langhammer Date: Wed, 3 Mar 2021 00:32:59 +0100 Subject: [PATCH 11/23] root: fix swagger pagination not matching API --- authentik/api/pagination_schema.py | 87 ++ authentik/root/settings.py | 3 + swagger.yaml | 2057 +++++++++++++++++----------- 3 files changed, 1332 insertions(+), 815 deletions(-) create mode 100644 authentik/api/pagination_schema.py diff --git a/authentik/api/pagination_schema.py b/authentik/api/pagination_schema.py new file mode 100644 index 000000000..a7571d41e --- /dev/null +++ b/authentik/api/pagination_schema.py @@ -0,0 +1,87 @@ +"""Swagger Pagination Schema class""" +from typing import OrderedDict + +from drf_yasg2 import openapi +from drf_yasg2.inspectors import PaginatorInspector + + +class PaginationInspector(PaginatorInspector): + """Swagger Pagination Schema class""" + + def get_paginated_response(self, paginator, response_schema): + """ + :param BasePagination paginator: the paginator + :param openapi.Schema response_schema: the response schema that must be paged. + :rtype: openapi.Schema + """ + + return openapi.Schema( + type=openapi.TYPE_OBJECT, + properties=OrderedDict( + ( + ( + "pagination", + openapi.Schema( + type=openapi.TYPE_OBJECT, + properties=OrderedDict( + ( + ("next", openapi.Schema(type=openapi.TYPE_NUMBER)), + ( + "previous", + openapi.Schema(type=openapi.TYPE_NUMBER), + ), + ("count", openapi.Schema(type=openapi.TYPE_NUMBER)), + ( + "current", + openapi.Schema(type=openapi.TYPE_NUMBER), + ), + ( + "total_pages", + openapi.Schema(type=openapi.TYPE_NUMBER), + ), + ( + "start_index", + openapi.Schema(type=openapi.TYPE_NUMBER), + ), + ( + "end_index", + openapi.Schema(type=openapi.TYPE_NUMBER), + ), + ) + ), + ), + ), + ("results", response_schema), + ) + ), + required=["results", "pagination"], + ) + + def get_paginator_parameters(self, paginator): + """ + Get the pagination parameters for a single paginator **instance**. + + Should return :data:`.NotHandled` if this inspector does not know how to handle the given `paginator`. + + :param BasePagination paginator: the paginator + :rtype: list[openapi.Parameter] + """ + + return [ + openapi.Parameter( + "page", + openapi.IN_QUERY, + "Page Index", + False, + None, + openapi.TYPE_INTEGER, + ), + openapi.Parameter( + "page_size", + openapi.IN_QUERY, + "Page Size", + False, + None, + openapi.TYPE_INTEGER, + ), + ] diff --git a/authentik/root/settings.py b/authentik/root/settings.py index 6b9153b0a..abfe9485a 100644 --- a/authentik/root/settings.py +++ b/authentik/root/settings.py @@ -139,6 +139,9 @@ GUARDIAN_MONKEY_PATCH = False SWAGGER_SETTINGS = { "DEFAULT_INFO": "authentik.api.v2.urls.info", + "DEFAULT_PAGINATOR_INSPECTORS": [ + "authentik.api.pagination_schema.PaginationInspector", + ], "SECURITY_DEFINITIONS": { "token": {"type": "apiKey", "name": "Authorization", "in": "header"} }, diff --git a/swagger.yaml b/swagger.yaml index 36a416513..eb6726257 100755 --- a/swagger.yaml +++ b/swagger.yaml @@ -84,12 +84,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -120,12 +120,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -133,20 +133,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -173,12 +180,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -186,20 +193,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -331,12 +345,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -344,20 +358,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -478,12 +499,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -491,20 +512,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -639,12 +667,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -652,20 +680,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -721,12 +756,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -813,12 +848,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -826,20 +861,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -983,12 +1025,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -996,20 +1038,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -1039,12 +1088,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -1119,12 +1168,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -1132,20 +1181,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -1230,12 +1286,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -1243,20 +1299,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -1357,12 +1420,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -1370,20 +1433,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -1550,12 +1620,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -1563,20 +1633,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -1697,12 +1774,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -1710,20 +1787,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -1784,12 +1868,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -1904,12 +1988,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -1917,20 +2001,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -2053,12 +2144,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -2066,20 +2157,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -2184,12 +2282,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -2197,20 +2295,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -2256,12 +2361,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -2371,12 +2476,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -2384,20 +2489,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -2498,12 +2610,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -2511,20 +2623,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -2635,12 +2754,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -2648,20 +2767,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -2696,12 +2822,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -2739,12 +2865,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -2819,12 +2945,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -2832,20 +2958,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -2946,12 +3079,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -2959,20 +3092,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -3073,12 +3213,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -3086,20 +3226,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -3200,12 +3347,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -3213,20 +3360,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -3327,12 +3481,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -3340,20 +3494,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -3454,12 +3615,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -3467,20 +3628,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -3581,12 +3749,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -3594,20 +3762,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -3708,12 +3883,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -3721,20 +3896,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -3835,12 +4017,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -3848,20 +4030,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -3902,12 +4091,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -3915,20 +4104,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -4028,12 +4224,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -4041,20 +4237,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -4219,12 +4422,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -4232,20 +4435,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -4275,12 +4485,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -4330,12 +4540,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -4343,20 +4553,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -4457,12 +4674,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -4470,20 +4687,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -4584,12 +4808,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -4597,20 +4821,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -4716,12 +4947,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -4729,20 +4960,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -4788,12 +5026,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -4883,12 +5121,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -4896,20 +5134,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -5027,12 +5272,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -5040,20 +5285,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -5153,12 +5405,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -5166,20 +5418,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -5329,12 +5588,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -5342,20 +5601,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -5380,12 +5646,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -5436,12 +5702,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -5449,20 +5715,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -5584,12 +5857,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -5597,20 +5870,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -5712,12 +5992,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -5725,20 +6005,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -5865,12 +6152,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -5878,20 +6165,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -5921,12 +6215,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -5976,12 +6270,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -5989,20 +6283,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -6103,12 +6404,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -6116,20 +6417,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -6230,12 +6538,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -6243,20 +6551,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -6357,12 +6672,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -6370,20 +6685,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -6484,12 +6806,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -6497,20 +6819,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -6611,12 +6940,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -6624,20 +6953,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -6738,12 +7074,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -6751,20 +7087,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -6865,12 +7208,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -6878,20 +7221,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -6992,12 +7342,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -7005,20 +7355,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -7119,12 +7476,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -7132,20 +7489,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -7256,12 +7620,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -7269,20 +7633,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -7383,12 +7754,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -7396,20 +7767,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -7510,12 +7888,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -7523,20 +7901,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -7657,12 +8042,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -7670,20 +8055,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -7784,12 +8176,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -7797,20 +8189,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -7911,12 +8310,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -7924,20 +8323,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -8038,12 +8444,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -8051,20 +8457,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -8165,12 +8578,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -8178,20 +8591,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: @@ -8292,12 +8712,12 @@ paths: type: string - name: page in: query - description: A page number within the paginated result set. + description: Page Index required: false type: integer - name: page_size in: query - description: Number of results to return per page. + description: Page Size required: false type: integer responses: @@ -8305,20 +8725,27 @@ paths: description: '' schema: required: - - count - results + - pagination type: object properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number results: type: array items: From 28cd08bbba6ab99d65cb4d3f6a9440046d99819e Mon Sep 17 00:00:00 2001 From: Jens Langhammer Date: Wed, 3 Mar 2021 09:28:12 +0100 Subject: [PATCH 12/23] core: make user settings use vertical tabs --- authentik/api/pagination_schema.py | 3 ++- authentik/core/templates/user/settings.html | 2 +- web/src/elements/Tabs.ts | 9 ++++++++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/authentik/api/pagination_schema.py b/authentik/api/pagination_schema.py index a7571d41e..9490b8463 100644 --- a/authentik/api/pagination_schema.py +++ b/authentik/api/pagination_schema.py @@ -61,7 +61,8 @@ class PaginationInspector(PaginatorInspector): """ Get the pagination parameters for a single paginator **instance**. - Should return :data:`.NotHandled` if this inspector does not know how to handle the given `paginator`. + Should return :data:`.NotHandled` if this inspector + does not know how to handle the given `paginator`. :param BasePagination paginator: the paginator :rtype: list[openapi.Parameter] diff --git a/authentik/core/templates/user/settings.html b/authentik/core/templates/user/settings.html index 50f70d560..ff803e4be 100644 --- a/authentik/core/templates/user/settings.html +++ b/authentik/core/templates/user/settings.html @@ -13,7 +13,7 @@

{% trans "Configure settings relevant to your user profile." %}

- +
diff --git a/web/src/elements/Tabs.ts b/web/src/elements/Tabs.ts index 1144e793c..814106eb4 100644 --- a/web/src/elements/Tabs.ts +++ b/web/src/elements/Tabs.ts @@ -12,10 +12,17 @@ export class Tabs extends LitElement { @property() currentPage?: string; + @property({type: Boolean}) + vertical = false; + static get styles(): CSSResult[] { return [GlobalsStyle, TabsStyle, css` ::slotted(*) { height: 100%; + flex-grow: 2; + } + :host([vertical]) { + display: flex; } `]; } @@ -39,7 +46,7 @@ export class Tabs extends LitElement { } this.currentPage = pages[0].attributes.getNamedItem("slot")?.value; } - return html`
+ return html`
    ${pages.map((page) => this.renderTab(page))}
From 5218332bce9a801c76166e29e447a9285da39d91 Mon Sep 17 00:00:00 2001 From: Jens Langhammer Date: Wed, 3 Mar 2021 10:06:44 +0100 Subject: [PATCH 13/23] web: improve error handing for fetch in AdminLoginChart --- web/src/api/Client.ts | 9 +++++++++ web/src/elements/AdminLoginsChart.ts | 19 ++++++++----------- .../pages/admin-overview/AdminOverviewPage.ts | 3 +-- .../pages/applications/ApplicationViewPage.ts | 3 +-- 4 files changed, 19 insertions(+), 15 deletions(-) diff --git a/web/src/api/Client.ts b/web/src/api/Client.ts index 55c593759..6f6359d69 100644 --- a/web/src/api/Client.ts +++ b/web/src/api/Client.ts @@ -1,3 +1,5 @@ +import { gettext } from "django"; +import { showMessage } from "../elements/messages/MessageContainer"; import { getCookie } from "../utils"; import { NotFoundError, RequestError } from "./Error"; @@ -47,6 +49,13 @@ export class Client { } return r; }) + .catch((e) => { + showMessage({ + level_tag: "error", + message: gettext(`Unexpected error while fetching: ${e.toString()}`), + }); + return e; + }) .then((r) => r.json()) .then((r) => r); } diff --git a/web/src/elements/AdminLoginsChart.ts b/web/src/elements/AdminLoginsChart.ts index 63d1b3c35..3d154fa54 100644 --- a/web/src/elements/AdminLoginsChart.ts +++ b/web/src/elements/AdminLoginsChart.ts @@ -1,16 +1,21 @@ import { css, CSSResult, customElement, html, LitElement, property, TemplateResult } from "lit-element"; import Chart from "chart.js"; -import { showMessage } from "./messages/MessageContainer"; +import { DefaultClient } from "../api/Client"; interface TickValue { value: number; major: boolean; } +export interface LoginMetrics { + logins_failed_per_1h: { x: number, y: number }[]; + logins_per_1h: { x: number, y: number }[]; +} + @customElement("ak-admin-logins-chart") export class AdminLoginsChart extends LitElement { @property() - url = ""; + url: string[] = []; chart?: Chart; @@ -40,15 +45,7 @@ export class AdminLoginsChart extends LitElement { } firstUpdated(): void { - fetch(this.url) - .then((r) => r.json()) - .catch((e) => { - showMessage({ - level_tag: "error", - message: "Unexpected error" - }); - console.error(e); - }) + DefaultClient.fetch(this.url) .then((r) => { const canvas = this.shadowRoot?.querySelector("canvas"); if (!canvas) { diff --git a/web/src/pages/admin-overview/AdminOverviewPage.ts b/web/src/pages/admin-overview/AdminOverviewPage.ts index 49df2ab09..7ccab4064 100644 --- a/web/src/pages/admin-overview/AdminOverviewPage.ts +++ b/web/src/pages/admin-overview/AdminOverviewPage.ts @@ -1,6 +1,5 @@ import { gettext } from "django"; import { CSSResult, customElement, html, LitElement, TemplateResult } from "lit-element"; -import { DefaultClient } from "../../api/Client"; import { COMMON_STYLES } from "../../common/styles"; import "../../elements/AdminLoginsChart"; @@ -31,7 +30,7 @@ export class AdminOverviewPage extends LitElement {
From dde5e910cf7ba8158cd39a53847ff40262c94404 Mon Sep 17 00:00:00 2001 From: Jens Langhammer Date: Wed, 3 Mar 2021 10:36:46 +0100 Subject: [PATCH 14/23] root: fix name of docker images --- azure-pipelines.yml | 2 +- outpost/azure-pipelines.yml | 2 +- web/azure-pipelines.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index aaebffe25..c38dc075e 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -379,7 +379,7 @@ stages: - task: Docker@2 inputs: containerRegistry: 'beryjuorg-harbor' - repository: 'beryju/authentik' + repository: 'authentik/server' command: 'buildAndPush' Dockerfile: 'Dockerfile' tags: "gh-$(branchName)" diff --git a/outpost/azure-pipelines.yml b/outpost/azure-pipelines.yml index d8f9a75d9..6dfb8a5d9 100644 --- a/outpost/azure-pipelines.yml +++ b/outpost/azure-pipelines.yml @@ -99,7 +99,7 @@ stages: - task: Docker@2 inputs: containerRegistry: 'beryjuorg-harbor' - repository: 'beryju/authentik-proxy' + repository: 'authentik/proxy' command: 'buildAndPush' Dockerfile: 'outpost/proxy.Dockerfile' buildContext: 'outpost/' diff --git a/web/azure-pipelines.yml b/web/azure-pipelines.yml index 83e5b19a8..b09e9fe58 100644 --- a/web/azure-pipelines.yml +++ b/web/azure-pipelines.yml @@ -79,7 +79,7 @@ stages: - task: Docker@2 inputs: containerRegistry: 'beryjuorg-harbor' - repository: 'beryju/authentik-static' + repository: 'authentik/static' command: 'buildAndPush' Dockerfile: 'web/Dockerfile' tags: "gh-$(branchName)" From c002c4b61000db7f15b8e7e7423c4c2aa0162490 Mon Sep 17 00:00:00 2001 From: Jens Langhammer Date: Wed, 3 Mar 2021 10:37:03 +0100 Subject: [PATCH 15/23] api: make pagination required --- authentik/api/pagination_schema.py | 9 + swagger.yaml | 488 +++++++++++++++++++++++++++++ 2 files changed, 497 insertions(+) diff --git a/authentik/api/pagination_schema.py b/authentik/api/pagination_schema.py index 9490b8463..057bd8b72 100644 --- a/authentik/api/pagination_schema.py +++ b/authentik/api/pagination_schema.py @@ -49,6 +49,15 @@ class PaginationInspector(PaginatorInspector): ), ) ), + required=[ + "next", + "previous", + "count", + "current", + "total_pages", + "start_index", + "end_index", + ], ), ), ("results", response_schema), diff --git a/swagger.yaml b/swagger.yaml index eb6726257..1d739e5c2 100755 --- a/swagger.yaml +++ b/swagger.yaml @@ -138,6 +138,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -198,6 +206,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -363,6 +379,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -517,6 +541,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -685,6 +717,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -866,6 +906,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -1043,6 +1091,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -1186,6 +1242,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -1304,6 +1368,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -1438,6 +1510,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -1638,6 +1718,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -1792,6 +1880,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -2006,6 +2102,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -2162,6 +2266,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -2300,6 +2412,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -2494,6 +2614,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -2628,6 +2756,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -2772,6 +2908,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -2963,6 +3107,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -3097,6 +3249,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -3231,6 +3391,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -3365,6 +3533,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -3499,6 +3675,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -3633,6 +3817,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -3767,6 +3959,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -3901,6 +4101,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -4035,6 +4243,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -4109,6 +4325,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -4242,6 +4466,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -4440,6 +4672,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -4558,6 +4798,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -4692,6 +4940,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -4826,6 +5082,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -4965,6 +5229,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -5139,6 +5411,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -5290,6 +5570,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -5423,6 +5711,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -5606,6 +5902,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -5720,6 +6024,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -5875,6 +6187,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -6010,6 +6330,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -6170,6 +6498,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -6288,6 +6624,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -6422,6 +6766,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -6556,6 +6908,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -6690,6 +7050,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -6824,6 +7192,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -6958,6 +7334,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -7092,6 +7476,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -7226,6 +7618,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -7360,6 +7760,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -7494,6 +7902,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -7638,6 +8054,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -7772,6 +8196,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -7906,6 +8338,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -8060,6 +8500,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -8194,6 +8642,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -8328,6 +8784,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -8462,6 +8926,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -8596,6 +9068,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: @@ -8730,6 +9210,14 @@ paths: type: object properties: pagination: + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index type: object properties: next: From 9e3d1f0baa587700e5d803df3c776ac32b3c1e68 Mon Sep 17 00:00:00 2001 From: Jens Langhammer Date: Wed, 3 Mar 2021 10:41:04 +0100 Subject: [PATCH 16/23] web: fix circular dependency --- web/src/elements/AdminLoginsChart.ts | 2 +- web/src/elements/messages/MessageContainer.ts | 21 ------------------- .../pages/admin-overview/AdminOverviewPage.ts | 2 +- .../pages/applications/ApplicationViewPage.ts | 2 +- 4 files changed, 3 insertions(+), 24 deletions(-) diff --git a/web/src/elements/AdminLoginsChart.ts b/web/src/elements/AdminLoginsChart.ts index 3d154fa54..2d82dbf27 100644 --- a/web/src/elements/AdminLoginsChart.ts +++ b/web/src/elements/AdminLoginsChart.ts @@ -14,7 +14,7 @@ export interface LoginMetrics { @customElement("ak-admin-logins-chart") export class AdminLoginsChart extends LitElement { - @property() + @property({type: Array}) url: string[] = []; chart?: Chart; diff --git a/web/src/elements/messages/MessageContainer.ts b/web/src/elements/messages/MessageContainer.ts index 9061a7e75..2f66d8721 100644 --- a/web/src/elements/messages/MessageContainer.ts +++ b/web/src/elements/messages/MessageContainer.ts @@ -1,6 +1,5 @@ import { gettext } from "django"; import { LitElement, html, customElement, TemplateResult, property } from "lit-element"; -import { DefaultClient } from "../../api/Client"; import "./Message"; import { APIMessage } from "./Message"; @@ -15,7 +14,6 @@ export function showMessage(message: APIMessage): void { @customElement("ak-message-container") export class MessageContainer extends LitElement { - url = DefaultClient.makeUrl(["root", "messages"]); @property({attribute: false}) messages: APIMessage[] = []; @@ -36,10 +34,6 @@ export class MessageContainer extends LitElement { } } - firstUpdated(): void { - this.fetchMessages(); - } - connect(): void { const wsUrl = `${window.location.protocol.replace("http", "ws")}//${ window.location.host @@ -74,21 +68,6 @@ export class MessageContainer extends LitElement { }); } - /* Fetch messages which were stored in the session. - * This mostly gets messages which were created when the user arrives/leaves the site - * and especially the login flow */ - fetchMessages(): Promise { - console.debug("authentik/messages: fetching messages over direct api"); - return fetch(this.url) - .then((r) => r.json()) - .then((r: APIMessage[]) => { - r.forEach((m: APIMessage) => { - this.messages.push(m); - this.requestUpdate(); - }); - }); - } - render(): TemplateResult { return html`