providers/api: return redirect_uris for proxy provider
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
		
							
								
								
									
										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
	
	Block a user
	 Jens Langhammer
					Jens Langhammer