@yuuvis/user-management-app 2.0.3 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,6 +4,8 @@
4
4
  "yuv.app.user-management.navigation.groups.tooltip": "Zur Gruppenansicht wechseln",
5
5
  "yuv.app.user-management.navigation.users.label": "Benutzer",
6
6
  "yuv.app.user-management.navigation.users.tooltip": "Zur Benutzeransicht wechseln",
7
+ "yuv.app.user-management.navigation.settings.label": "Einstellungen",
8
+ "yuv.app.user-management.navigation.settings.tooltip": "Identity-Provider-Einstellungen anzeigen",
7
9
  "yuv.app.user-management.group.action.create.success": "Die Gruppe wurde erfolgreich erstellt.",
8
10
  "yuv.app.user-management.groups.action.button.cancel": "Abbrechen",
9
11
  "yuv.app.user-management.groups.action.button.create": "Erstellen",
@@ -20,6 +22,7 @@
20
22
  "yuv.app.user-management.groups.action.edit.success": "Die Gruppe '{{name}}' wurde erfolgreich bearbeitet.",
21
23
  "yuv.app.user-management.groups.details.empty": "Keine Gruppe ausgewählt",
22
24
  "yuv.app.user-management.groups.details.title": "Gruppeninformationen",
25
+ "yuv.app.user-management.groups.navigation.pagination.aria": "Seite auswählen",
23
26
  "yuv.app.user-management.groups.navigation.refresh.tooltip": "Aktualisieren",
24
27
  "yuv.app.user-management.groups.object.property.description": "Beschreibung",
25
28
  "yuv.app.user-management.groups.object.property.id": "ID",
@@ -27,6 +30,33 @@
27
30
  "yuv.app.user-management.groups.object.property.name": "Name",
28
31
  "yuv.app.user-management.groups.object.property.roles": "Rollen",
29
32
  "yuv.app.user-management.groups.title": "Gruppenübersicht",
33
+ "yuv.app.user-management.settings.action.button.close": "Schließen",
34
+ "yuv.app.user-management.settings.action.button.configure": "Jetzt konfigurieren",
35
+ "yuv.app.user-management.settings.dialog.title": "Identity-Provider (OIDC)",
36
+ "yuv.app.user-management.settings.oidc.action.copy.error": "Konnte nicht in die Zwischenablage kopiert werden. Bitte manuell kopieren.",
37
+ "yuv.app.user-management.settings.oidc.action.copy.label": "In die Zwischenablage kopieren",
38
+ "yuv.app.user-management.settings.oidc.action.copy.success": "In die Zwischenablage kopiert.",
39
+ "yuv.app.user-management.settings.oidc.action.delete.confirm.message": "Möchtest du die OIDC-Identity-Provider-Konfiguration wirklich löschen? Diese Aktion kann nicht rückgängig gemacht werden.",
40
+ "yuv.app.user-management.settings.oidc.action.delete.error": "Die OIDC-Identity-Provider-Konfiguration konnte nicht gelöscht werden.",
41
+ "yuv.app.user-management.settings.oidc.action.delete.label": "Konfiguration löschen",
42
+ "yuv.app.user-management.settings.oidc.action.delete.success": "Die OIDC-Identity-Provider-Konfiguration wurde erfolgreich gelöscht.",
43
+ "yuv.app.user-management.settings.oidc.action.update.error": "Das Client-Secret konnte nicht aktualisiert werden.",
44
+ "yuv.app.user-management.settings.oidc.action.update.label": "Aktualisieren",
45
+ "yuv.app.user-management.settings.oidc.action.update.success": "Das Client-Secret wurde erfolgreich aktualisiert.",
46
+ "yuv.app.user-management.settings.oidc.configure.error.discovery": "Die OIDC-Endpunkte konnten nicht über die Discovery-URL ermittelt werden. Bitte überprüfe die Discovery-URL.",
47
+ "yuv.app.user-management.settings.oidc.configure.error.unknown": "Der OIDC-Identity-Provider konnte aufgrund eines unbekannten Fehlers nicht konfiguriert werden. Bitte überprüfe die Eingaben und versuche es erneut.",
48
+ "yuv.app.user-management.settings.oidc.configure.property.clientSecret": "Client-Secret",
49
+ "yuv.app.user-management.settings.oidc.configure.property.discoveryUrl": "Discovery-URL",
50
+ "yuv.app.user-management.settings.oidc.error.unknown": "Die OIDC-Identity-Provider-Konfiguration konnte aufgrund eines unbekannten Fehlers nicht geladen werden. Bitte versuche es später erneut.",
51
+ "yuv.app.user-management.settings.oidc.notConfigured": "Für diesen Mandanten ist kein externer OIDC-Identity-Provider konfiguriert.",
52
+ "yuv.app.user-management.settings.oidc.property.clientId": "Client-ID",
53
+ "yuv.app.user-management.settings.oidc.property.displayName": "Anzeigename",
54
+ "yuv.app.user-management.settings.oidc.property.redirectUri": "Redirect-URI",
55
+ "yuv.app.user-management.settings.oidc.provisioning.property.clientName": "Client-Name",
56
+ "yuv.app.user-management.settings.oidc.provisioning.property.clientSecret": "Client-Secret",
57
+ "yuv.app.user-management.settings.oidc.provisioning.property.tenantUrl": "Tenant-URL",
58
+ "yuv.app.user-management.settings.oidc.provisioning.property.tokenUrl": "Token-URL",
59
+ "yuv.app.user-management.settings.oidc.section.provisioning": "Provisioning-Informationen",
30
60
  "yuv.app.user-management.users.action.activate.error": "Benutzer '{{username}}' konnte nicht aktiviert werden.",
31
61
  "yuv.app.user-management.users.action.activate.label": "Benutzer aktivieren",
32
62
  "yuv.app.user-management.users.action.activate.success": "Benutzer '{{username}}' wurde erfolgreich aktiviert.",
@@ -50,10 +80,13 @@
50
80
  "yuv.app.user-management.users.action.delete.label": "Benutzer löschen",
51
81
  "yuv.app.user-management.users.action.delete.success": "Benutzer '{{username}}' erfolgreich gelöscht.",
52
82
  "yuv.app.user-management.users.action.edit.error.unknown": "Benutzer konnte nicht bearbeitet werden da ein unbekannter Fehler aufgetreten ist. Bitte versuche es später erneut oder verwende andere Eingabewerte.",
83
+ "yuv.app.user-management.users.action.edit.identitySource.external.hint": "Dieser Benutzer wird durch einen externen Identitätsprovider verwaltet (z.B. Entra ID). Es können ausschließlich Rollen bearbeitet werden.",
53
84
  "yuv.app.user-management.users.action.edit.label": "Benutzer bearbeiten",
54
85
  "yuv.app.user-management.users.action.edit.success": "Der Benutzer '{{username}}' wurde erfolgreich bearbeitet.",
55
86
  "yuv.app.user-management.users.details.empty": "Kein Benutzer ausgewählt",
56
87
  "yuv.app.user-management.users.details.title": "Benutzerinformationen",
88
+ "yuv.app.user-management.users.identitySource.external.tooltip": "Verwaltet durch einen externen Identitätsprovider (z.B. Entra ID)",
89
+ "yuv.app.user-management.users.navigation.pagination.aria": "Seite auswählen",
57
90
  "yuv.app.user-management.users.navigation.refresh.tooltip": "Aktualisieren",
58
91
  "yuv.app.user-management.users.object.property.disabled": "Deaktiviert",
59
92
  "yuv.app.user-management.users.object.property.email": "E-Mail",
@@ -61,8 +94,10 @@
61
94
  "yuv.app.user-management.users.object.property.firstname": "Vorname",
62
95
  "yuv.app.user-management.users.object.property.groups": "Gruppen",
63
96
  "yuv.app.user-management.users.object.property.id": "ID",
97
+ "yuv.app.user-management.users.object.property.identitySource.external": "Externer Identitätsprovider",
64
98
  "yuv.app.user-management.users.object.property.lastname": "Nachname",
65
99
  "yuv.app.user-management.users.object.property.roles": "Rollen",
100
+ "yuv.app.user-management.users.object.property.state": "Status",
66
101
  "yuv.app.user-management.users.object.property.username": "Benutzername",
67
102
  "yuv.app.user-management.users.roles.assign": "Ausgewählte Rollen zuweisen",
68
103
  "yuv.app.user-management.users.roles.assignAll": "Alle Rollen zuweisen",
@@ -4,6 +4,8 @@
4
4
  "yuv.app.user-management.navigation.groups.tooltip": "Switch to groups view",
5
5
  "yuv.app.user-management.navigation.users.label": "Users",
6
6
  "yuv.app.user-management.navigation.users.tooltip": "Switch to users view",
7
+ "yuv.app.user-management.navigation.settings.label": "Settings",
8
+ "yuv.app.user-management.navigation.settings.tooltip": "Show identity provider settings",
7
9
  "yuv.app.user-management.group.action.create.success": "The group was successfully created.",
8
10
  "yuv.app.user-management.groups.action.button.cancel": "Cancel",
9
11
  "yuv.app.user-management.groups.action.button.create": "Create",
@@ -20,6 +22,7 @@
20
22
  "yuv.app.user-management.groups.action.edit.success": "The group '{{name}}' was edited successfully.",
21
23
  "yuv.app.user-management.groups.details.empty": "No group selected",
22
24
  "yuv.app.user-management.groups.details.title": "Group information",
25
+ "yuv.app.user-management.groups.navigation.pagination.aria": "Select page",
23
26
  "yuv.app.user-management.groups.navigation.refresh.tooltip": "Refresh",
24
27
  "yuv.app.user-management.groups.object.property.description": "Description",
25
28
  "yuv.app.user-management.groups.object.property.id": "ID",
@@ -27,6 +30,33 @@
27
30
  "yuv.app.user-management.groups.object.property.name": "Name",
28
31
  "yuv.app.user-management.groups.object.property.roles": "Roles",
29
32
  "yuv.app.user-management.groups.title": "Group Overview",
33
+ "yuv.app.user-management.settings.action.button.close": "Close",
34
+ "yuv.app.user-management.settings.action.button.configure": "Configure now",
35
+ "yuv.app.user-management.settings.dialog.title": "Identity provider (OIDC)",
36
+ "yuv.app.user-management.settings.oidc.action.copy.error": "Unable to copy to the clipboard. Please copy it manually.",
37
+ "yuv.app.user-management.settings.oidc.action.copy.label": "Copy to clipboard",
38
+ "yuv.app.user-management.settings.oidc.action.copy.success": "Copied to clipboard.",
39
+ "yuv.app.user-management.settings.oidc.action.delete.confirm.message": "Do you really want to delete the OIDC identity provider configuration? This action cannot be undone.",
40
+ "yuv.app.user-management.settings.oidc.action.delete.error": "Unable to delete the OIDC identity provider configuration.",
41
+ "yuv.app.user-management.settings.oidc.action.delete.label": "Delete configuration",
42
+ "yuv.app.user-management.settings.oidc.action.delete.success": "The OIDC identity provider configuration was deleted successfully.",
43
+ "yuv.app.user-management.settings.oidc.action.update.error": "Unable to update the client secret.",
44
+ "yuv.app.user-management.settings.oidc.action.update.label": "Update",
45
+ "yuv.app.user-management.settings.oidc.action.update.success": "The client secret was updated successfully.",
46
+ "yuv.app.user-management.settings.oidc.configure.error.discovery": "The OIDC endpoints could not be resolved from the discovery URL. Please check the discovery URL.",
47
+ "yuv.app.user-management.settings.oidc.configure.error.unknown": "The OIDC identity provider could not be configured due to an unknown error. Please check your input and try again.",
48
+ "yuv.app.user-management.settings.oidc.configure.property.clientSecret": "Client secret",
49
+ "yuv.app.user-management.settings.oidc.configure.property.discoveryUrl": "Discovery URL",
50
+ "yuv.app.user-management.settings.oidc.error.unknown": "Unable to load the OIDC identity provider configuration due to an unknown error. Please try again later.",
51
+ "yuv.app.user-management.settings.oidc.notConfigured": "No external OIDC identity provider is configured for this tenant.",
52
+ "yuv.app.user-management.settings.oidc.property.clientId": "Client ID",
53
+ "yuv.app.user-management.settings.oidc.property.displayName": "Display name",
54
+ "yuv.app.user-management.settings.oidc.property.redirectUri": "Redirect URI",
55
+ "yuv.app.user-management.settings.oidc.provisioning.property.clientName": "Client name",
56
+ "yuv.app.user-management.settings.oidc.provisioning.property.clientSecret": "Client secret",
57
+ "yuv.app.user-management.settings.oidc.provisioning.property.tenantUrl": "Tenant URL",
58
+ "yuv.app.user-management.settings.oidc.provisioning.property.tokenUrl": "Token URL",
59
+ "yuv.app.user-management.settings.oidc.section.provisioning": "Provisioning information",
30
60
  "yuv.app.user-management.users.action.activate.error": "User '{{username}}' could not be activated.",
31
61
  "yuv.app.user-management.users.action.activate.label": "Activate user",
32
62
  "yuv.app.user-management.users.action.activate.success": "User '{{username}}' was successfully activated.",
@@ -50,10 +80,13 @@
50
80
  "yuv.app.user-management.users.action.delete.label": "Delete user",
51
81
  "yuv.app.user-management.users.action.delete.success": "User '{{username}}' was successfully deleted.",
52
82
  "yuv.app.user-management.users.action.edit.error.unknown": "Unable to edit user due to an unknown error. Please try again later or change the values of your entry.",
83
+ "yuv.app.user-management.users.action.edit.identitySource.external.hint": "This user is managed by an external identity provider (e.g. Entra ID). Only roles can be edited.",
53
84
  "yuv.app.user-management.users.action.edit.label": "Edit user",
54
85
  "yuv.app.user-management.users.action.edit.success": "The user '{{username}}' was edited successfully.",
55
86
  "yuv.app.user-management.users.details.empty": "No user selected",
56
87
  "yuv.app.user-management.users.details.title": "Credentials",
88
+ "yuv.app.user-management.users.identitySource.external.tooltip": "Managed by an external identity provider (e.g. Entra ID)",
89
+ "yuv.app.user-management.users.navigation.pagination.aria": "Select page",
57
90
  "yuv.app.user-management.users.navigation.refresh.tooltip": "Refresh",
58
91
  "yuv.app.user-management.users.object.property.disabled": "Deactivated",
59
92
  "yuv.app.user-management.users.object.property.email": "E-mail",
@@ -61,8 +94,10 @@
61
94
  "yuv.app.user-management.users.object.property.firstname": "First name",
62
95
  "yuv.app.user-management.users.object.property.groups": "Groups",
63
96
  "yuv.app.user-management.users.object.property.id": "ID",
97
+ "yuv.app.user-management.users.object.property.identitySource.external": "External identity provider",
64
98
  "yuv.app.user-management.users.object.property.lastname": "Last name",
65
99
  "yuv.app.user-management.users.object.property.roles": "Roles",
100
+ "yuv.app.user-management.users.object.property.state": "Status",
66
101
  "yuv.app.user-management.users.object.property.username": "User name",
67
102
  "yuv.app.user-management.users.roles.assign": "Assign selected roles",
68
103
  "yuv.app.user-management.users.roles.assignAll": "Assign all roles",
package/package.json CHANGED
@@ -34,5 +34,5 @@
34
34
  "dependencies": {
35
35
  "tslib": "^2.3.0"
36
36
  },
37
- "version": "2.0.3"
37
+ "version": "2.1.0"
38
38
  }
@@ -26,6 +26,8 @@ interface UserObject {
26
26
  lastName: string;
27
27
  email: string;
28
28
  enabled: boolean;
29
+ /** Read-only flag set by the backend for users provisioned via an external identity provider (e.g. SCIM from Entra ID). */
30
+ externallyManaged?: boolean;
29
31
  }
30
32
  interface UserDetailsObject extends UserObject {
31
33
  groups: string[];
@@ -38,6 +40,26 @@ interface UsersSearchResponse {
38
40
  totalNumItems: number;
39
41
  objects: UserObject[];
40
42
  }
43
+ /**
44
+ * OIDC identity provider configuration of the current tenant (e.g. Microsoft Entra ID) as
45
+ * returned by `/tenant-management/api/admin/identity-provider/oidc`. Sensitive config values
46
+ * (e.g. clientSecret) are removed by the backend before delivery.
47
+ */
48
+ interface OIDCProviderConfig {
49
+ /** Display name shown on the login page. */
50
+ displayName?: string;
51
+ /** Provider-specific configuration (clientId, metadataDescriptorUrl, defaultScope, ...). */
52
+ config?: Record<string, string>;
53
+ /** Computed redirect URI that must be registered with the external IdP. */
54
+ redirectUri?: string;
55
+ /** SCIM provisioning settings to configure at the external IdP (only present if a SCIM client exists in the tenant's realm). */
56
+ scimProvisioning?: {
57
+ tenantUrl?: string;
58
+ tokenEndpoint?: string;
59
+ clientId?: string;
60
+ clientSecret?: string;
61
+ };
62
+ }
41
63
 
42
64
  declare class UserRequest {
43
65
  username?: string;
@@ -71,6 +93,22 @@ declare class YuvUserManagementService {
71
93
  updateGroup(groupId: string, updateGroupRequest: GroupRequest): Observable<void>;
72
94
  deleteGroup(group: GroupObject): Observable<boolean>;
73
95
  getUserDetails(id: string): Observable<UserDetailsObject>;
96
+ /**
97
+ * Fetches the OIDC identity provider configuration (e.g. Microsoft Entra ID) of the current
98
+ * tenant. Emits a 404 error if no OIDC identity provider is configured.
99
+ */
100
+ fetchOIDCProviderConfig(): Observable<OIDCProviderConfig>;
101
+ /**
102
+ * Creates (or updates) the OIDC identity provider configuration of the current tenant. The
103
+ * discovery URL must be passed as `config.metadataDescriptorUrl` — the backend resolves the
104
+ * OIDC endpoints (authorizationUrl, tokenUrl, jwksUrl, ...) from the discovery document.
105
+ */
106
+ setOIDCProviderConfig(providerConfig: OIDCProviderConfig): Observable<OIDCProviderConfig>;
107
+ /**
108
+ * Deletes the OIDC identity provider configuration of the current tenant, after the user
109
+ * confirmed the action.
110
+ */
111
+ deleteOIDCProviderConfig(): Observable<boolean>;
74
112
  getGroupDetails(id: string): Observable<GroupDetailsObject>;
75
113
  static ɵfac: i0.ɵɵFactoryDeclaration<YuvUserManagementService, never>;
76
114
  static ɵprov: i0.ɵɵInjectableDeclaration<YuvUserManagementService>;