providers/proxy: allow configuring of additional scope mappings for proxy
closes #1255 Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
parent
bfc8a56a0b
commit
6036d88392
|
@ -138,7 +138,7 @@ class ProxyProvider(OutpostModel, OAuth2Provider):
|
||||||
SCOPE_AK_PROXY,
|
SCOPE_AK_PROXY,
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
self.property_mappings.set(scopes)
|
self.property_mappings.add(*list(scopes))
|
||||||
self.redirect_uris = _get_callback_url(self.external_host)
|
self.redirect_uris = _get_callback_url(self.external_host)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
|
|
|
@ -14,6 +14,7 @@ import {
|
||||||
CryptoApi,
|
CryptoApi,
|
||||||
FlowsApi,
|
FlowsApi,
|
||||||
FlowsInstancesListDesignationEnum,
|
FlowsInstancesListDesignationEnum,
|
||||||
|
PropertymappingsApi,
|
||||||
ProvidersApi,
|
ProvidersApi,
|
||||||
ProxyMode,
|
ProxyMode,
|
||||||
ProxyProvider,
|
ProxyProvider,
|
||||||
|
@ -320,7 +321,7 @@ export class ProxyProviderFormPage extends ModelForm<ProxyProvider, number> {
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
|
|
||||||
<ak-form-group>
|
<ak-form-group>
|
||||||
<span slot="header"> ${t`Advanced protocol settings`} </span>
|
<span slot="header">${t`Advanced protocol settings`}</span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal label=${t`Certificate`} name="certificate">
|
<ak-form-element-horizontal label=${t`Certificate`} name="certificate">
|
||||||
<select class="pf-c-form-control">
|
<select class="pf-c-form-control">
|
||||||
|
@ -347,6 +348,38 @@ export class ProxyProviderFormPage extends ModelForm<ProxyProvider, number> {
|
||||||
)}
|
)}
|
||||||
</select>
|
</select>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
|
<ak-form-element-horizontal label=${t`Scopes`} name="propertyMappings">
|
||||||
|
<select class="pf-c-form-control" multiple>
|
||||||
|
${until(
|
||||||
|
new PropertymappingsApi(DEFAULT_CONFIG)
|
||||||
|
.propertymappingsScopeList({
|
||||||
|
ordering: "scope_name",
|
||||||
|
})
|
||||||
|
.then((scopes) => {
|
||||||
|
return scopes.results.filter((scope) => {
|
||||||
|
return !scope.managed?.startsWith("goauthentik.io/providers");
|
||||||
|
}).map((scope) => {
|
||||||
|
const selected = (this.instance?.propertyMappings || []).some((su) => {
|
||||||
|
return su == scope.pk;
|
||||||
|
});
|
||||||
|
return html`<option
|
||||||
|
value=${ifDefined(scope.pk)}
|
||||||
|
?selected=${selected}
|
||||||
|
>
|
||||||
|
${scope.name}
|
||||||
|
</option>`;
|
||||||
|
});
|
||||||
|
}),
|
||||||
|
html`<option>${t`Loading...`}</option>`,
|
||||||
|
)}
|
||||||
|
</select>
|
||||||
|
<p class="pf-c-form__helper-text">
|
||||||
|
${t`Additional scope mappings, which are passed to the proxy.`}
|
||||||
|
</p>
|
||||||
|
<p class="pf-c-form__helper-text">
|
||||||
|
${t`Hold control/command to select multiple items.`}
|
||||||
|
</p>
|
||||||
|
</ak-form-element-horizontal>
|
||||||
|
|
||||||
<ak-form-element-horizontal label=${t`Skip path regex`} name="skipPathRegex">
|
<ak-form-element-horizontal label=${t`Skip path regex`} name="skipPathRegex">
|
||||||
<textarea class="pf-c-form-control">
|
<textarea class="pf-c-form-control">
|
||||||
|
|
Reference in a new issue