providers: SCIM (#4835)
* basic user sync Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add group sync and some refactor Signed-off-by: Jens Langhammer <jens@goauthentik.io> * start API Signed-off-by: Jens Langhammer <jens@goauthentik.io> * allow null authorization flow Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add UI Signed-off-by: Jens Langhammer <jens@goauthentik.io> * make task monitored Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add missing dependency Signed-off-by: Jens Langhammer <jens@goauthentik.io> * make authorization_flow required for most providers via API Signed-off-by: Jens Langhammer <jens@goauthentik.io> * more UI Signed-off-by: Jens Langhammer <jens@goauthentik.io> * make task result better readable, exclude anonymous user Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add task UI Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add scheduled task for all sync Signed-off-by: Jens Langhammer <jens@goauthentik.io> * make scim errors more readable Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add mappings, migrate to mappings Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add mapping UI and more Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add scim docs to web Signed-off-by: Jens Langhammer <jens@goauthentik.io> * start implementing membership Signed-off-by: Jens Langhammer <jens@goauthentik.io> * migrate signals to tasks Signed-off-by: Jens Langhammer <jens@goauthentik.io> * migrate fully to tasks Signed-off-by: Jens Langhammer <jens@goauthentik.io> * strip none keys, fix lint errors Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix things Signed-off-by: Jens Langhammer <jens@goauthentik.io> * start adding tests Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix saml Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add scim schemas and validate against it Signed-off-by: Jens Langhammer <jens@goauthentik.io> * improve error handling Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add group put support, add group tests Signed-off-by: Jens Langhammer <jens@goauthentik.io> * send correct application/scim+json headers Signed-off-by: Jens Langhammer <jens@goauthentik.io> * stop sync if no mappings are confiugred Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add test for task sync Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add membership tests Signed-off-by: Jens Langhammer <jens@goauthentik.io> * use decorator for tests Signed-off-by: Jens Langhammer <jens@goauthentik.io> * make tests better Signed-off-by: Jens Langhammer <jens@goauthentik.io> --------- Signed-off-by: Jens Langhammer <jens@goauthentik.io>
This commit is contained in:
		@ -3,6 +3,7 @@ import "@goauthentik/admin/providers/ldap/LDAPProviderForm";
 | 
			
		||||
import "@goauthentik/admin/providers/oauth2/OAuth2ProviderForm";
 | 
			
		||||
import "@goauthentik/admin/providers/proxy/ProxyProviderForm";
 | 
			
		||||
import "@goauthentik/admin/providers/saml/SAMLProviderForm";
 | 
			
		||||
import "@goauthentik/admin/providers/scim/SCIMProviderForm";
 | 
			
		||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
 | 
			
		||||
import { uiConfig } from "@goauthentik/common/ui/config";
 | 
			
		||||
import "@goauthentik/elements/buttons/SpinnerButton";
 | 
			
		||||
@ -81,16 +82,23 @@ export class ProviderListPage extends TablePage<Provider> {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    row(item: Provider): TemplateResult[] {
 | 
			
		||||
        let app = html``;
 | 
			
		||||
        if (item.component === "ak-provider-scim-form") {
 | 
			
		||||
            app = html`<i class="pf-icon pf-icon-ok pf-m-success"></i>
 | 
			
		||||
                ${t`No application required.`}`;
 | 
			
		||||
        } else if (!item.assignedApplicationName) {
 | 
			
		||||
            app = html`<i class="pf-icon pf-icon-warning-triangle pf-m-warning"></i>
 | 
			
		||||
                ${t`Warning: Provider not assigned to any application.`}`;
 | 
			
		||||
        } else {
 | 
			
		||||
            app = html`<i class="pf-icon pf-icon-ok pf-m-success"></i>
 | 
			
		||||
                ${t`Assigned to application `}
 | 
			
		||||
                <a href="#/core/applications/${item.assignedApplicationSlug}"
 | 
			
		||||
                    >${item.assignedApplicationName}</a
 | 
			
		||||
                >`;
 | 
			
		||||
        }
 | 
			
		||||
        return [
 | 
			
		||||
            html`<a href="#/core/providers/${item.pk}"> ${item.name} </a>`,
 | 
			
		||||
            item.assignedApplicationName
 | 
			
		||||
                ? html`<i class="pf-icon pf-icon-ok pf-m-success"></i>
 | 
			
		||||
                      ${t`Assigned to application `}
 | 
			
		||||
                      <a href="#/core/applications/${item.assignedApplicationSlug}"
 | 
			
		||||
                          >${item.assignedApplicationName}</a
 | 
			
		||||
                      >`
 | 
			
		||||
                : html`<i class="pf-icon pf-icon-warning-triangle pf-m-warning"></i>
 | 
			
		||||
                      ${t`Warning: Provider not assigned to any application.`}`,
 | 
			
		||||
            app,
 | 
			
		||||
            html`${item.verboseName}`,
 | 
			
		||||
            html`<ak-forms-modal>
 | 
			
		||||
                <span slot="submit"> ${t`Update`} </span>
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user