diff --git a/authentik/enterprise/providers/google_workspace/clients/groups.py b/authentik/enterprise/providers/google_workspace/clients/groups.py index 158fe07247..7cb841dcc8 100644 --- a/authentik/enterprise/providers/google_workspace/clients/groups.py +++ b/authentik/enterprise/providers/google_workspace/clients/groups.py @@ -92,12 +92,14 @@ class GoogleWorkspaceGroupClient( google_group = self.to_schema(group, connection) self.check_email_valid(google_group["email"]) try: - return self._request( + response = self._request( self.directory_service.groups().update( groupKey=connection.google_id, body=google_group, ) ) + connection.attributes = response + connection.save() except NotFoundSyncException: # Resource missing is handled by self.write, which will re-create the group raise diff --git a/authentik/enterprise/providers/google_workspace/clients/users.py b/authentik/enterprise/providers/google_workspace/clients/users.py index 859efa25e8..b8316f476b 100644 --- a/authentik/enterprise/providers/google_workspace/clients/users.py +++ b/authentik/enterprise/providers/google_workspace/clients/users.py @@ -88,9 +88,11 @@ class GoogleWorkspaceUserClient(GoogleWorkspaceSyncClient[User, GoogleWorkspaceP self.check_email_valid( google_user["primaryEmail"], *[x["address"] for x in google_user.get("emails", [])] ) - self._request( + response = self._request( self.directory_service.users().update(userKey=connection.google_id, body=google_user) ) + connection.attributes = response + connection.save() def discover(self): """Iterate through all users and connect them with authentik users if possible""" diff --git a/authentik/enterprise/providers/microsoft_entra/clients/groups.py b/authentik/enterprise/providers/microsoft_entra/clients/groups.py index 54545594c3..6edadfb085 100644 --- a/authentik/enterprise/providers/microsoft_entra/clients/groups.py +++ b/authentik/enterprise/providers/microsoft_entra/clients/groups.py @@ -104,9 +104,11 @@ class MicrosoftEntraGroupClient( microsoft_group = self.to_schema(group, connection) microsoft_group.id = connection.microsoft_id try: - return self._request( + response = self._request( self.client.groups.by_group_id(connection.microsoft_id).patch(microsoft_group) ) + connection.attributes = self.entity_as_dict(response) + connection.save() except NotFoundSyncException: # Resource missing is handled by self.write, which will re-create the group raise diff --git a/authentik/enterprise/providers/microsoft_entra/clients/users.py b/authentik/enterprise/providers/microsoft_entra/clients/users.py index 56e4ac10d0..a5ffea4f83 100644 --- a/authentik/enterprise/providers/microsoft_entra/clients/users.py +++ b/authentik/enterprise/providers/microsoft_entra/clients/users.py @@ -110,7 +110,11 @@ class MicrosoftEntraUserClient(MicrosoftEntraSyncClient[User, MicrosoftEntraProv """Update existing user""" microsoft_user = self.to_schema(user, connection) self.check_email_valid(microsoft_user.user_principal_name) - self._request(self.client.users.by_user_id(connection.microsoft_id).patch(microsoft_user)) + response = self._request( + self.client.users.by_user_id(connection.microsoft_id).patch(microsoft_user) + ) + connection.attributes = self.entity_as_dict(response) + connection.save() def discover(self): """Iterate through all users and connect them with authentik users if possible""" diff --git a/web/src/flow/FlowInspector.ts b/web/src/flow/FlowInspector.ts index 643bf36bfd..0d15d444ed 100644 --- a/web/src/flow/FlowInspector.ts +++ b/web/src/flow/FlowInspector.ts @@ -15,7 +15,7 @@ import PFProgressStepper from "@patternfly/patternfly/components/ProgressStepper import PFStack from "@patternfly/patternfly/layouts/Stack/stack.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css"; -import { FlowInspection, FlowsApi, Stage } from "@goauthentik/api"; +import { FlowInspection, FlowsApi, ResponseError, Stage } from "@goauthentik/api"; @customElement("ak-flow-inspector") export class FlowInspector extends AKElement { @@ -25,7 +25,7 @@ export class FlowInspector extends AKElement { state?: FlowInspection; @property({ attribute: false }) - error?: Response; + error?: ResponseError; static get styles(): CSSResult[] { return [ @@ -70,6 +70,7 @@ export class FlowInspector extends AKElement { flowSlug: this.flowSlug, }) .then((state) => { + this.error = undefined; this.state = state; }) .catch((exc) => { @@ -100,7 +101,7 @@ export class FlowInspector extends AKElement {
-
${this.error?.statusText}
+
${this.error?.message}