providers/api: return redirect_uris for proxy provider
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
parent
e649e9fb03
commit
84dfbcaaae
11
Makefile
11
Makefile
|
@ -1,3 +1,6 @@
|
||||||
|
.SHELLFLAGS += -x -e
|
||||||
|
PWD = $(shell pwd)
|
||||||
|
|
||||||
all: lint-fix lint test gen
|
all: lint-fix lint test gen
|
||||||
|
|
||||||
test-integration:
|
test-integration:
|
||||||
|
@ -24,6 +27,14 @@ lint:
|
||||||
|
|
||||||
gen:
|
gen:
|
||||||
./manage.py generate_swagger -o swagger.yaml -f yaml
|
./manage.py generate_swagger -o swagger.yaml -f yaml
|
||||||
|
docker run \
|
||||||
|
--rm -v ${PWD}:/local \
|
||||||
|
openapitools/openapi-generator-cli generate \
|
||||||
|
-i /local/swagger.yaml \
|
||||||
|
-g typescript-fetch \
|
||||||
|
-o /local/web/api \
|
||||||
|
--additional-properties=typescriptThreePlus=true,supportsES6=true,npmName=authentik-api,npmVersion=1.0.0
|
||||||
|
cd web/api && npx tsc
|
||||||
|
|
||||||
local-stack:
|
local-stack:
|
||||||
export AUTHENTIK_TAG=testing
|
export AUTHENTIK_TAG=testing
|
||||||
|
|
|
@ -33,6 +33,8 @@ class OpenIDConnectConfigurationSerializer(PassiveSerializer):
|
||||||
class ProxyProviderSerializer(ProviderSerializer):
|
class ProxyProviderSerializer(ProviderSerializer):
|
||||||
"""ProxyProvider Serializer"""
|
"""ProxyProvider Serializer"""
|
||||||
|
|
||||||
|
redirect_uris = CharField(read_only=True)
|
||||||
|
|
||||||
def validate(self, attrs) -> dict[Any, str]:
|
def validate(self, attrs) -> dict[Any, str]:
|
||||||
"""Check that internal_host is set when forward_auth_mode is disabled"""
|
"""Check that internal_host is set when forward_auth_mode is disabled"""
|
||||||
if (
|
if (
|
||||||
|
@ -67,6 +69,7 @@ class ProxyProviderSerializer(ProviderSerializer):
|
||||||
"basic_auth_password_attribute",
|
"basic_auth_password_attribute",
|
||||||
"basic_auth_user_attribute",
|
"basic_auth_user_attribute",
|
||||||
"forward_auth_mode",
|
"forward_auth_mode",
|
||||||
|
"redirect_uris",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -17498,6 +17498,11 @@ definitions:
|
||||||
description: Enable support for forwardAuth in traefik and nginx auth_request.
|
description: Enable support for forwardAuth in traefik and nginx auth_request.
|
||||||
Exclusive with internal_host.
|
Exclusive with internal_host.
|
||||||
type: boolean
|
type: boolean
|
||||||
|
redirect_uris:
|
||||||
|
title: Redirect uris
|
||||||
|
type: string
|
||||||
|
readOnly: true
|
||||||
|
minLength: 1
|
||||||
SAMLProvider:
|
SAMLProvider:
|
||||||
required:
|
required:
|
||||||
- name
|
- name
|
||||||
|
|
|
@ -125,7 +125,7 @@ export class ProxyProviderFormPage extends ModelForm<ProxyProvider, number> {
|
||||||
?required=${true}
|
?required=${true}
|
||||||
name="externalHost">
|
name="externalHost">
|
||||||
<input type="text" value="${ifDefined(this.instance?.externalHost)}" class="pf-c-form-control" required>
|
<input type="text" value="${ifDefined(this.instance?.externalHost)}" class="pf-c-form-control" required>
|
||||||
<p class="pf-c-form__helper-text">${t`The external URL you'll access the outpost at.`}</p>
|
<p class="pf-c-form__helper-text">${t`The external URL you'll access the application at`}</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal name="forwardAuthMode">
|
<ak-form-element-horizontal name="forwardAuthMode">
|
||||||
<div class="pf-c-check">
|
<div class="pf-c-check">
|
||||||
|
|
|
@ -6,8 +6,7 @@ import PFContent from "@patternfly/patternfly/components/Content/content.css";
|
||||||
import PFGallery from "@patternfly/patternfly/layouts/Gallery/gallery.css";
|
import PFGallery from "@patternfly/patternfly/layouts/Gallery/gallery.css";
|
||||||
import PFCard from "@patternfly/patternfly/components/Card/card.css";
|
import PFCard from "@patternfly/patternfly/components/Card/card.css";
|
||||||
import PFDescriptionList from "@patternfly/patternfly/components/DescriptionList/description-list.css";
|
import PFDescriptionList from "@patternfly/patternfly/components/DescriptionList/description-list.css";
|
||||||
import PFSizing from "@patternfly/patternfly/utilities/Sizing/sizing.css";
|
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
|
||||||
import PFFlex from "@patternfly/patternfly/utilities/Flex/flex.css";
|
|
||||||
import PFDisplay from "@patternfly/patternfly/utilities/Display/display.css";
|
import PFDisplay from "@patternfly/patternfly/utilities/Display/display.css";
|
||||||
import PFBase from "@patternfly/patternfly/patternfly-base.css";
|
import PFBase from "@patternfly/patternfly/patternfly-base.css";
|
||||||
import AKGlobal from "../../../authentik.css";
|
import AKGlobal from "../../../authentik.css";
|
||||||
|
@ -22,6 +21,7 @@ import "./ProxyProviderForm";
|
||||||
import { ProvidersApi, ProxyProvider } from "authentik-api";
|
import { ProvidersApi, ProxyProvider } from "authentik-api";
|
||||||
import { DEFAULT_CONFIG } from "../../../api/Config";
|
import { DEFAULT_CONFIG } from "../../../api/Config";
|
||||||
import { EVENT_REFRESH } from "../../../constants";
|
import { EVENT_REFRESH } from "../../../constants";
|
||||||
|
import { until } from "lit-html/directives/until";
|
||||||
|
|
||||||
@customElement("ak-provider-proxy-view")
|
@customElement("ak-provider-proxy-view")
|
||||||
export class ProxyProviderViewPage extends LitElement {
|
export class ProxyProviderViewPage extends LitElement {
|
||||||
|
@ -42,7 +42,7 @@ export class ProxyProviderViewPage extends LitElement {
|
||||||
provider?: ProxyProvider;
|
provider?: ProxyProvider;
|
||||||
|
|
||||||
static get styles(): CSSResult[] {
|
static get styles(): CSSResult[] {
|
||||||
return [PFBase, PFButton, PFPage, PFFlex, PFDisplay, PFGallery, PFContent, PFCard, PFDescriptionList, PFSizing, AKGlobal];
|
return [PFBase, PFButton, PFPage, PFGrid, PFGallery, PFContent, PFCard, PFDescriptionList, AKGlobal];
|
||||||
}
|
}
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
|
@ -59,8 +59,8 @@ export class ProxyProviderViewPage extends LitElement {
|
||||||
}
|
}
|
||||||
return html`<ak-tabs>
|
return html`<ak-tabs>
|
||||||
<section slot="page-overview" data-tab-title="${t`Overview`}" class="pf-c-page__main-section pf-m-no-padding-mobile">
|
<section slot="page-overview" data-tab-title="${t`Overview`}" class="pf-c-page__main-section pf-m-no-padding-mobile">
|
||||||
<div class="pf-u-display-flex pf-u-justify-content-center">
|
<div class="pf-l-grid pf-m-gutter">
|
||||||
<div class="pf-u-w-75">
|
<div class="pf-l-grid__item pf-m-6-col">
|
||||||
<div class="pf-c-card">
|
<div class="pf-c-card">
|
||||||
<div class="pf-c-card__body">
|
<div class="pf-c-card__body">
|
||||||
<dl class="pf-c-description-list pf-m-3-col-on-lg">
|
<dl class="pf-c-description-list pf-m-3-col-on-lg">
|
||||||
|
@ -115,6 +115,23 @@ export class ProxyProviderViewPage extends LitElement {
|
||||||
</div>
|
</div>
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="pf-c-description-list__group">
|
||||||
|
<dt class="pf-c-description-list__term">
|
||||||
|
<span class="pf-c-description-list__text">${t`Forward auth`}</span>
|
||||||
|
</dt>
|
||||||
|
<dd class="pf-c-description-list__description">
|
||||||
|
<div class="pf-c-description-list__text">
|
||||||
|
${this.provider.forwardAuthMode ?
|
||||||
|
html`<span class="pf-c-button__icon pf-m-start">
|
||||||
|
<i class="fas fa-check-circle" aria-hidden="true"></i>
|
||||||
|
</span>${t`Yes`}`:
|
||||||
|
html`<span class="pf-c-button__icon pf-m-start">
|
||||||
|
<i class="fas fa-times-circle" aria-hidden="true"></i>
|
||||||
|
</span>${t`No`}`
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
</div>
|
||||||
</dl>
|
</dl>
|
||||||
</div>
|
</div>
|
||||||
<div class="pf-c-card__footer">
|
<div class="pf-c-card__footer">
|
||||||
|
@ -136,6 +153,27 @@ export class ProxyProviderViewPage extends LitElement {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="pf-l-grid__item pf-m-6-col">
|
||||||
|
<div class="pf-c-card">
|
||||||
|
<div class="pf-c-card__title">
|
||||||
|
${t`Protocol Settings`}
|
||||||
|
</div>
|
||||||
|
<div class="pf-c-card__body">
|
||||||
|
<dl class="pf-c-description-list pf-m-3-col-on-lg">
|
||||||
|
<div class="pf-c-description-list__group">
|
||||||
|
<dt class="pf-c-description-list__term">
|
||||||
|
<span class="pf-c-description-list__text">${t`Allowed Redirect URIs`}</span>
|
||||||
|
</dt>
|
||||||
|
<dd class="pf-c-description-list__description">
|
||||||
|
<div class="pf-c-description-list__text">
|
||||||
|
${this.provider.redirectUris}
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
</div>
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<section slot="page-changelog" data-tab-title="${t`Changelog`}" class="pf-c-page__main-section pf-m-no-padding-mobile">
|
<section slot="page-changelog" data-tab-title="${t`Changelog`}" class="pf-c-page__main-section pf-m-no-padding-mobile">
|
||||||
|
|
Reference in New Issue