@thunderid/javascript 1.0.6 → 1.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.
- package/dist/api/agents/createAgent.d.ts +28 -0
- package/dist/api/agents/createAgent.d.ts.map +1 -0
- package/dist/api/agents/deleteAgent.d.ts +27 -0
- package/dist/api/agents/deleteAgent.d.ts.map +1 -0
- package/dist/api/agents/getAgent.d.ts +28 -0
- package/dist/api/agents/getAgent.d.ts.map +1 -0
- package/dist/api/agents/getAgents.d.ts +23 -0
- package/dist/api/agents/getAgents.d.ts.map +1 -0
- package/dist/api/agents/updateAgent.d.ts +33 -0
- package/dist/api/agents/updateAgent.d.ts.map +1 -0
- package/dist/api/applications/createApplication.d.ts +28 -0
- package/dist/api/applications/createApplication.d.ts.map +1 -0
- package/dist/api/applications/deleteApplication.d.ts +27 -0
- package/dist/api/applications/deleteApplication.d.ts.map +1 -0
- package/dist/api/applications/getApplication.d.ts +28 -0
- package/dist/api/applications/getApplication.d.ts.map +1 -0
- package/dist/api/applications/getApplications.d.ts +24 -0
- package/dist/api/applications/getApplications.d.ts.map +1 -0
- package/dist/api/applications/updateApplication.d.ts +33 -0
- package/dist/api/applications/updateApplication.d.ts.map +1 -0
- package/dist/api/updateMeCredentials.d.ts +66 -0
- package/dist/api/updateMeCredentials.d.ts.map +1 -0
- package/dist/api/users/createUser.d.ts +28 -0
- package/dist/api/users/createUser.d.ts.map +1 -0
- package/dist/api/users/deleteUser.d.ts +27 -0
- package/dist/api/users/deleteUser.d.ts.map +1 -0
- package/dist/api/users/getUser.d.ts +28 -0
- package/dist/api/users/getUser.d.ts.map +1 -0
- package/dist/api/users/getUsers.d.ts +24 -0
- package/dist/api/users/getUsers.d.ts.map +1 -0
- package/dist/api/users/updateUser.d.ts +33 -0
- package/dist/api/users/updateUser.d.ts.map +1 -0
- package/dist/cjs/index.cjs +934 -0
- package/dist/constants/AgentQueryKeys.d.ts +10 -0
- package/dist/constants/AgentQueryKeys.d.ts.map +1 -0
- package/dist/constants/ApplicationQueryKeys.d.ts +10 -0
- package/dist/constants/ApplicationQueryKeys.d.ts.map +1 -0
- package/dist/constants/CredentialConstants.d.ts +22 -0
- package/dist/constants/CredentialConstants.d.ts.map +1 -0
- package/dist/constants/UserQueryKeys.d.ts +10 -0
- package/dist/constants/UserQueryKeys.d.ts.map +1 -0
- package/dist/edge/index.js +905 -1
- package/dist/i18n/models/i18n.d.ts +13 -0
- package/dist/i18n/models/i18n.d.ts.map +1 -1
- package/dist/i18n/translations/en-US.d.ts.map +1 -1
- package/dist/i18n/translations/fr-FR.d.ts.map +1 -1
- package/dist/i18n/translations/hi-IN.d.ts.map +1 -1
- package/dist/i18n/translations/ja-JP.d.ts.map +1 -1
- package/dist/i18n/translations/pt-BR.d.ts.map +1 -1
- package/dist/i18n/translations/pt-PT.d.ts.map +1 -1
- package/dist/i18n/translations/si-LK.d.ts.map +1 -1
- package/dist/i18n/translations/ta-IN.d.ts.map +1 -1
- package/dist/i18n/translations/te-IN.d.ts.map +1 -1
- package/dist/index.d.ts +49 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +905 -1
- package/dist/models/agent-resource.d.ts +96 -0
- package/dist/models/agent-resource.d.ts.map +1 -0
- package/dist/models/api.d.ts +57 -0
- package/dist/models/api.d.ts.map +1 -0
- package/dist/models/application.d.ts +271 -0
- package/dist/models/application.d.ts.map +1 -0
- package/dist/models/config.d.ts +26 -1
- package/dist/models/config.d.ts.map +1 -1
- package/dist/models/managed-user.d.ts +44 -0
- package/dist/models/managed-user.d.ts.map +1 -0
- package/dist/utils/evaluateChangePasswordForm.d.ts +64 -0
- package/dist/utils/evaluateChangePasswordForm.d.ts.map +1 -0
- package/dist/utils/evaluatePasswordPolicy.d.ts +60 -0
- package/dist/utils/evaluatePasswordPolicy.d.ts.map +1 -0
- package/dist/utils/mapCredentialUpdateError.d.ts +31 -0
- package/dist/utils/mapCredentialUpdateError.d.ts.map +1 -0
- package/dist/utils/requestManagementResource.d.ts +41 -0
- package/dist/utils/requestManagementResource.d.ts.map +1 -0
- package/dist/utils/resolveChangeCredentialPolicy.d.ts +24 -0
- package/dist/utils/resolveChangeCredentialPolicy.d.ts.map +1 -0
- package/dist/utils/resolveResourceEndpoint.d.ts +1 -1
- package/dist/utils/resolveResourceEndpoint.d.ts.map +1 -1
- package/dist/utils/supportsCredential.d.ts +32 -0
- package/dist/utils/supportsCredential.d.ts.map +1 -0
- package/package.json +3 -3
package/dist/cjs/index.cjs
CHANGED
|
@@ -1465,6 +1465,73 @@ const getUsersMeMeta = async ({ baseUrl, fetcher, url,...requestConfig }) => {
|
|
|
1465
1465
|
};
|
|
1466
1466
|
var getUsersMeMeta_default = getUsersMeMeta;
|
|
1467
1467
|
|
|
1468
|
+
//#endregion
|
|
1469
|
+
//#region src/api/updateMeCredentials.ts
|
|
1470
|
+
/**
|
|
1471
|
+
* Updates one or more of the signed-in user's credentials at the
|
|
1472
|
+
* /users/me/update-credentials endpoint.
|
|
1473
|
+
*
|
|
1474
|
+
* The endpoint responds with `204 No Content` on success, so this function resolves with
|
|
1475
|
+
* `void` rather than a parsed body.
|
|
1476
|
+
*
|
|
1477
|
+
* @param config - Configuration object with URL, payload and optional request config.
|
|
1478
|
+
* @returns A promise that resolves once the credentials have been updated.
|
|
1479
|
+
* @example
|
|
1480
|
+
* ```typescript
|
|
1481
|
+
* // Using default fetch
|
|
1482
|
+
* await updateMeCredentials({
|
|
1483
|
+
* url: "https://localhost:8090/users/me/update-credentials",
|
|
1484
|
+
* payload: {password: "n3wP@ssword!"}
|
|
1485
|
+
* });
|
|
1486
|
+
* ```
|
|
1487
|
+
*
|
|
1488
|
+
* @example
|
|
1489
|
+
* ```typescript
|
|
1490
|
+
* // Using custom fetcher (e.g. an httpClient that attaches the access token)
|
|
1491
|
+
* await updateMeCredentials({
|
|
1492
|
+
* baseUrl: "https://localhost:8090",
|
|
1493
|
+
* payload: {password: "n3wP@ssword!"},
|
|
1494
|
+
* fetcher: async (url, config) => {
|
|
1495
|
+
* const response = await httpClient({url, method: config.method, headers: config.headers, data: config.body});
|
|
1496
|
+
* return {
|
|
1497
|
+
* ok: response.status >= 200 && response.status < 300,
|
|
1498
|
+
* status: response.status,
|
|
1499
|
+
* statusText: response.statusText,
|
|
1500
|
+
* json: () => Promise.resolve(response.data),
|
|
1501
|
+
* text: () => Promise.resolve(typeof response.data === 'string' ? response.data : JSON.stringify(response.data))
|
|
1502
|
+
* } as Response;
|
|
1503
|
+
* }
|
|
1504
|
+
* });
|
|
1505
|
+
* ```
|
|
1506
|
+
*/
|
|
1507
|
+
const updateMeCredentials = async ({ url, baseUrl, payload, fetcher,...requestConfig }) => {
|
|
1508
|
+
try {
|
|
1509
|
+
new URL(url ?? baseUrl);
|
|
1510
|
+
} catch (error$1) {
|
|
1511
|
+
throw new ThunderIDAPIError(`Invalid URL provided. ${error$1 instanceof Error ? error$1.message : String(error$1)}`, "updateMeCredentials-ValidationError-001", "javascript", 400, "The provided `url` or `baseUrl` path does not adhere to the URL schema.");
|
|
1512
|
+
}
|
|
1513
|
+
const fetchFn = fetcher ?? fetch;
|
|
1514
|
+
const resolvedUrl = url ?? `${baseUrl?.replace(/\/$/, "")}/users/me/update-credentials`;
|
|
1515
|
+
const requestInit = {
|
|
1516
|
+
...requestConfig,
|
|
1517
|
+
method: "POST",
|
|
1518
|
+
body: JSON.stringify({ attributes: payload }),
|
|
1519
|
+
headers: {
|
|
1520
|
+
...requestConfig.headers,
|
|
1521
|
+
Accept: "application/json",
|
|
1522
|
+
"Content-Type": "application/json"
|
|
1523
|
+
}
|
|
1524
|
+
};
|
|
1525
|
+
try {
|
|
1526
|
+
const response = await fetchFn(resolvedUrl, requestInit);
|
|
1527
|
+
if (!response?.ok) throw new ThunderIDAPIError(await response.text(), "updateMeCredentials-ResponseError-001", "javascript", response.status, response.statusText, "Failed to update user credentials");
|
|
1528
|
+
} catch (error$1) {
|
|
1529
|
+
if (error$1 instanceof ThunderIDAPIError) throw error$1;
|
|
1530
|
+
throw new ThunderIDAPIError(`Network or parsing error: ${error$1 instanceof Error ? error$1.message : "Unknown error"}`, "updateMeCredentials-NetworkError-001", "javascript", 0, "Network Error");
|
|
1531
|
+
}
|
|
1532
|
+
};
|
|
1533
|
+
var updateMeCredentials_default = updateMeCredentials;
|
|
1534
|
+
|
|
1468
1535
|
//#endregion
|
|
1469
1536
|
//#region src/api/updateMeProfile.ts
|
|
1470
1537
|
/**
|
|
@@ -1542,6 +1609,456 @@ const updateMeProfile = async ({ url, baseUrl, payload, fetcher,...requestConfig
|
|
|
1542
1609
|
};
|
|
1543
1610
|
var updateMeProfile_default = updateMeProfile;
|
|
1544
1611
|
|
|
1612
|
+
//#endregion
|
|
1613
|
+
//#region src/utils/requestManagementResource.ts
|
|
1614
|
+
/**
|
|
1615
|
+
* Performs a request against a management API resource and maps failures onto
|
|
1616
|
+
* {@link ThunderIDAPIError}. HTTP 403 and 404 get their own codes so a caller can tell a missing
|
|
1617
|
+
* permission from a missing resource.
|
|
1618
|
+
*
|
|
1619
|
+
* @returns The parsed JSON body, or `undefined` when the server returns no content.
|
|
1620
|
+
*/
|
|
1621
|
+
const requestManagementResource = async ({ baseUrl, url, fetcher,...requestConfig }, { body, collection, failureMessage, id, method, operation, query }) => {
|
|
1622
|
+
try {
|
|
1623
|
+
new URL(url ?? baseUrl);
|
|
1624
|
+
} catch (error$1) {
|
|
1625
|
+
throw new ThunderIDAPIError(`Invalid URL provided. ${error$1 instanceof Error ? error$1.message : String(error$1)}`, `${operation}-ValidationError-001`, "javascript", 400, "The provided `url` or `baseUrl` path does not adhere to the URL schema.");
|
|
1626
|
+
}
|
|
1627
|
+
if (id?.trim() === "") throw new ThunderIDAPIError("A resource identifier is required.", `${operation}-ValidationError-002`, "javascript", 400, "The provided resource identifier is empty.");
|
|
1628
|
+
const collectionUrl = (url ?? `${baseUrl}/${collection}`).replace(/\/+$/, "");
|
|
1629
|
+
const resourceUrl = id === void 0 ? collectionUrl : `${collectionUrl}/${encodeURIComponent(id)}`;
|
|
1630
|
+
const searchParams = new URLSearchParams();
|
|
1631
|
+
Object.entries(query ?? {}).forEach(([key, value]) => {
|
|
1632
|
+
if (value !== void 0) searchParams.set(key, String(value));
|
|
1633
|
+
});
|
|
1634
|
+
const queryString = searchParams.toString();
|
|
1635
|
+
const resolvedUrl = queryString ? `${resourceUrl}?${queryString}` : resourceUrl;
|
|
1636
|
+
const requestInit = {
|
|
1637
|
+
...requestConfig,
|
|
1638
|
+
headers: {
|
|
1639
|
+
Accept: "application/json",
|
|
1640
|
+
"Content-Type": "application/json",
|
|
1641
|
+
...requestConfig.headers
|
|
1642
|
+
},
|
|
1643
|
+
method,
|
|
1644
|
+
...body !== void 0 ? { body: JSON.stringify(body) } : {}
|
|
1645
|
+
};
|
|
1646
|
+
const fetchFn = fetcher ?? fetch;
|
|
1647
|
+
try {
|
|
1648
|
+
const response = await fetchFn(resolvedUrl, requestInit);
|
|
1649
|
+
if (!response?.ok) {
|
|
1650
|
+
const errorText = await response.text();
|
|
1651
|
+
let reason = "ResponseError";
|
|
1652
|
+
if (response.status === 403) reason = "ForbiddenError";
|
|
1653
|
+
else if (response.status === 404) reason = "NotFoundError";
|
|
1654
|
+
throw new ThunderIDAPIError(errorText, `${operation}-${reason}-001`, "javascript", response.status, response.statusText, failureMessage);
|
|
1655
|
+
}
|
|
1656
|
+
if (response.status === 204 || method === "DELETE") return;
|
|
1657
|
+
return await response.json();
|
|
1658
|
+
} catch (error$1) {
|
|
1659
|
+
if (error$1 instanceof ThunderIDAPIError) throw error$1;
|
|
1660
|
+
throw new ThunderIDAPIError(`Network or parsing error: ${error$1 instanceof Error ? error$1.message : "Unknown error"}`, `${operation}-NetworkError-001`, "javascript", 0, "Network Error");
|
|
1661
|
+
}
|
|
1662
|
+
};
|
|
1663
|
+
var requestManagementResource_default = requestManagementResource;
|
|
1664
|
+
|
|
1665
|
+
//#endregion
|
|
1666
|
+
//#region src/api/applications/getApplications.ts
|
|
1667
|
+
/**
|
|
1668
|
+
* Retrieves a page of applications.
|
|
1669
|
+
*
|
|
1670
|
+
* @param config - Request configuration object.
|
|
1671
|
+
* @returns A promise that resolves with the page of applications.
|
|
1672
|
+
*
|
|
1673
|
+
* @example
|
|
1674
|
+
* ```typescript
|
|
1675
|
+
* const {applications, totalResults} = await getApplications({
|
|
1676
|
+
* baseUrl: 'https://localhost:8090',
|
|
1677
|
+
* limit: 10,
|
|
1678
|
+
* offset: 0,
|
|
1679
|
+
* });
|
|
1680
|
+
* ```
|
|
1681
|
+
*/
|
|
1682
|
+
const getApplications = async ({ limit, offset,...config }) => requestManagementResource_default(config, {
|
|
1683
|
+
collection: "applications",
|
|
1684
|
+
failureMessage: "Failed to fetch applications",
|
|
1685
|
+
method: "GET",
|
|
1686
|
+
operation: "getApplications",
|
|
1687
|
+
query: {
|
|
1688
|
+
limit,
|
|
1689
|
+
offset
|
|
1690
|
+
}
|
|
1691
|
+
});
|
|
1692
|
+
var getApplications_default = getApplications;
|
|
1693
|
+
|
|
1694
|
+
//#endregion
|
|
1695
|
+
//#region src/api/applications/getApplication.ts
|
|
1696
|
+
/**
|
|
1697
|
+
* Retrieves a single application.
|
|
1698
|
+
*
|
|
1699
|
+
* @param config - Request configuration object.
|
|
1700
|
+
* @returns A promise that resolves with the application.
|
|
1701
|
+
*
|
|
1702
|
+
* @example
|
|
1703
|
+
* ```typescript
|
|
1704
|
+
* const application = await getApplication({
|
|
1705
|
+
* baseUrl: 'https://localhost:8090',
|
|
1706
|
+
* applicationId: '550e8400-e29b-41d4-a716-446655440000',
|
|
1707
|
+
* });
|
|
1708
|
+
* ```
|
|
1709
|
+
*/
|
|
1710
|
+
const getApplication = async ({ applicationId,...config }) => requestManagementResource_default(config, {
|
|
1711
|
+
collection: "applications",
|
|
1712
|
+
failureMessage: "Failed to fetch application",
|
|
1713
|
+
id: applicationId,
|
|
1714
|
+
method: "GET",
|
|
1715
|
+
operation: "getApplication"
|
|
1716
|
+
});
|
|
1717
|
+
var getApplication_default = getApplication;
|
|
1718
|
+
|
|
1719
|
+
//#endregion
|
|
1720
|
+
//#region src/api/applications/createApplication.ts
|
|
1721
|
+
/**
|
|
1722
|
+
* Creates an application.
|
|
1723
|
+
*
|
|
1724
|
+
* @param config - Request configuration object.
|
|
1725
|
+
* @returns A promise that resolves with the application as the server stored it.
|
|
1726
|
+
*
|
|
1727
|
+
* @example
|
|
1728
|
+
* ```typescript
|
|
1729
|
+
* const application = await createApplication({
|
|
1730
|
+
* baseUrl: 'https://localhost:8090',
|
|
1731
|
+
* payload: {name: 'My SPA', url: 'http://localhost:3000'},
|
|
1732
|
+
* });
|
|
1733
|
+
* ```
|
|
1734
|
+
*/
|
|
1735
|
+
const createApplication = async ({ payload,...config }) => requestManagementResource_default(config, {
|
|
1736
|
+
body: payload,
|
|
1737
|
+
collection: "applications",
|
|
1738
|
+
failureMessage: "Failed to create application",
|
|
1739
|
+
method: "POST",
|
|
1740
|
+
operation: "createApplication"
|
|
1741
|
+
});
|
|
1742
|
+
var createApplication_default = createApplication;
|
|
1743
|
+
|
|
1744
|
+
//#endregion
|
|
1745
|
+
//#region src/api/applications/updateApplication.ts
|
|
1746
|
+
/**
|
|
1747
|
+
* Updates an application.
|
|
1748
|
+
*
|
|
1749
|
+
* @param config - Request configuration object.
|
|
1750
|
+
* @returns A promise that resolves with the updated application.
|
|
1751
|
+
*
|
|
1752
|
+
* @example
|
|
1753
|
+
* ```typescript
|
|
1754
|
+
* const application = await updateApplication({
|
|
1755
|
+
* baseUrl: 'https://localhost:8090',
|
|
1756
|
+
* applicationId: '550e8400-e29b-41d4-a716-446655440000',
|
|
1757
|
+
* payload: {...existing, name: 'Renamed'},
|
|
1758
|
+
* });
|
|
1759
|
+
* ```
|
|
1760
|
+
*/
|
|
1761
|
+
const updateApplication = async ({ applicationId, payload,...config }) => requestManagementResource_default(config, {
|
|
1762
|
+
body: payload,
|
|
1763
|
+
collection: "applications",
|
|
1764
|
+
failureMessage: "Failed to update application",
|
|
1765
|
+
id: applicationId,
|
|
1766
|
+
method: "PUT",
|
|
1767
|
+
operation: "updateApplication"
|
|
1768
|
+
});
|
|
1769
|
+
var updateApplication_default = updateApplication;
|
|
1770
|
+
|
|
1771
|
+
//#endregion
|
|
1772
|
+
//#region src/api/applications/deleteApplication.ts
|
|
1773
|
+
/**
|
|
1774
|
+
* Deletes an application.
|
|
1775
|
+
*
|
|
1776
|
+
* @param config - Request configuration object.
|
|
1777
|
+
* @returns A promise that resolves once the application is deleted.
|
|
1778
|
+
*
|
|
1779
|
+
* @example
|
|
1780
|
+
* ```typescript
|
|
1781
|
+
* await deleteApplication({
|
|
1782
|
+
* baseUrl: 'https://localhost:8090',
|
|
1783
|
+
* applicationId: '550e8400-e29b-41d4-a716-446655440000',
|
|
1784
|
+
* });
|
|
1785
|
+
* ```
|
|
1786
|
+
*/
|
|
1787
|
+
const deleteApplication = async ({ applicationId,...config }) => requestManagementResource_default(config, {
|
|
1788
|
+
collection: "applications",
|
|
1789
|
+
failureMessage: "Failed to delete application",
|
|
1790
|
+
id: applicationId,
|
|
1791
|
+
method: "DELETE",
|
|
1792
|
+
operation: "deleteApplication"
|
|
1793
|
+
});
|
|
1794
|
+
var deleteApplication_default = deleteApplication;
|
|
1795
|
+
|
|
1796
|
+
//#endregion
|
|
1797
|
+
//#region src/api/users/getUsers.ts
|
|
1798
|
+
/**
|
|
1799
|
+
* Retrieves a page of users. Each user carries its resolved `display` value.
|
|
1800
|
+
*
|
|
1801
|
+
* @param config - Request configuration object.
|
|
1802
|
+
* @returns A promise that resolves with the page of users.
|
|
1803
|
+
*
|
|
1804
|
+
* @example
|
|
1805
|
+
* ```typescript
|
|
1806
|
+
* const {users, totalResults} = await getUsers({
|
|
1807
|
+
* baseUrl: 'https://localhost:8090',
|
|
1808
|
+
* limit: 10,
|
|
1809
|
+
* filter: 'username eq "alice"',
|
|
1810
|
+
* });
|
|
1811
|
+
* ```
|
|
1812
|
+
*/
|
|
1813
|
+
const getUsers = async ({ filter, limit, offset,...config }) => requestManagementResource_default(config, {
|
|
1814
|
+
collection: "users",
|
|
1815
|
+
failureMessage: "Failed to fetch users",
|
|
1816
|
+
method: "GET",
|
|
1817
|
+
operation: "getUsers",
|
|
1818
|
+
query: {
|
|
1819
|
+
filter,
|
|
1820
|
+
include: "display",
|
|
1821
|
+
limit,
|
|
1822
|
+
offset
|
|
1823
|
+
}
|
|
1824
|
+
});
|
|
1825
|
+
var getUsers_default = getUsers;
|
|
1826
|
+
|
|
1827
|
+
//#endregion
|
|
1828
|
+
//#region src/api/users/getUser.ts
|
|
1829
|
+
/**
|
|
1830
|
+
* Retrieves a single user, with its resolved `display` value.
|
|
1831
|
+
*
|
|
1832
|
+
* @param config - Request configuration object.
|
|
1833
|
+
* @returns A promise that resolves with the user.
|
|
1834
|
+
*
|
|
1835
|
+
* @example
|
|
1836
|
+
* ```typescript
|
|
1837
|
+
* const user = await getUser({
|
|
1838
|
+
* baseUrl: 'https://localhost:8090',
|
|
1839
|
+
* userId: '9a475e1e-b0cb-4b29-8df5-2e5b24fb0ed3',
|
|
1840
|
+
* });
|
|
1841
|
+
* ```
|
|
1842
|
+
*/
|
|
1843
|
+
const getUser = async ({ userId,...config }) => requestManagementResource_default(config, {
|
|
1844
|
+
collection: "users",
|
|
1845
|
+
failureMessage: "Failed to fetch user",
|
|
1846
|
+
id: userId,
|
|
1847
|
+
method: "GET",
|
|
1848
|
+
operation: "getUser",
|
|
1849
|
+
query: { include: "display" }
|
|
1850
|
+
});
|
|
1851
|
+
var getUser_default = getUser;
|
|
1852
|
+
|
|
1853
|
+
//#endregion
|
|
1854
|
+
//#region src/api/users/createUser.ts
|
|
1855
|
+
/**
|
|
1856
|
+
* Creates a user.
|
|
1857
|
+
*
|
|
1858
|
+
* @param config - Request configuration object.
|
|
1859
|
+
* @returns A promise that resolves with the user as the server stored it.
|
|
1860
|
+
*
|
|
1861
|
+
* @example
|
|
1862
|
+
* ```typescript
|
|
1863
|
+
* const user = await createUser({
|
|
1864
|
+
* baseUrl: 'https://localhost:8090',
|
|
1865
|
+
* payload: {ouId, type: 'customer', attributes: {username: 'alice'}},
|
|
1866
|
+
* });
|
|
1867
|
+
* ```
|
|
1868
|
+
*/
|
|
1869
|
+
const createUser = async ({ payload,...config }) => requestManagementResource_default(config, {
|
|
1870
|
+
body: payload,
|
|
1871
|
+
collection: "users",
|
|
1872
|
+
failureMessage: "Failed to create user",
|
|
1873
|
+
method: "POST",
|
|
1874
|
+
operation: "createUser"
|
|
1875
|
+
});
|
|
1876
|
+
var createUser_default = createUser;
|
|
1877
|
+
|
|
1878
|
+
//#endregion
|
|
1879
|
+
//#region src/api/users/updateUser.ts
|
|
1880
|
+
/**
|
|
1881
|
+
* Updates a user.
|
|
1882
|
+
*
|
|
1883
|
+
* @param config - Request configuration object.
|
|
1884
|
+
* @returns A promise that resolves with the updated user.
|
|
1885
|
+
*
|
|
1886
|
+
* @example
|
|
1887
|
+
* ```typescript
|
|
1888
|
+
* const user = await updateUser({
|
|
1889
|
+
* baseUrl: 'https://localhost:8090',
|
|
1890
|
+
* userId: '9a475e1e-b0cb-4b29-8df5-2e5b24fb0ed3',
|
|
1891
|
+
* payload: {attributes: {givenName: 'Alice'}},
|
|
1892
|
+
* });
|
|
1893
|
+
* ```
|
|
1894
|
+
*/
|
|
1895
|
+
const updateUser = async ({ userId, payload,...config }) => requestManagementResource_default(config, {
|
|
1896
|
+
body: payload,
|
|
1897
|
+
collection: "users",
|
|
1898
|
+
failureMessage: "Failed to update user",
|
|
1899
|
+
id: userId,
|
|
1900
|
+
method: "PUT",
|
|
1901
|
+
operation: "updateUser"
|
|
1902
|
+
});
|
|
1903
|
+
var updateUser_default = updateUser;
|
|
1904
|
+
|
|
1905
|
+
//#endregion
|
|
1906
|
+
//#region src/api/users/deleteUser.ts
|
|
1907
|
+
/**
|
|
1908
|
+
* Deletes a user.
|
|
1909
|
+
*
|
|
1910
|
+
* @param config - Request configuration object.
|
|
1911
|
+
* @returns A promise that resolves once the user is deleted.
|
|
1912
|
+
*
|
|
1913
|
+
* @example
|
|
1914
|
+
* ```typescript
|
|
1915
|
+
* await deleteUser({
|
|
1916
|
+
* baseUrl: 'https://localhost:8090',
|
|
1917
|
+
* userId: '9a475e1e-b0cb-4b29-8df5-2e5b24fb0ed3',
|
|
1918
|
+
* });
|
|
1919
|
+
* ```
|
|
1920
|
+
*/
|
|
1921
|
+
const deleteUser = async ({ userId,...config }) => requestManagementResource_default(config, {
|
|
1922
|
+
collection: "users",
|
|
1923
|
+
failureMessage: "Failed to delete user",
|
|
1924
|
+
id: userId,
|
|
1925
|
+
method: "DELETE",
|
|
1926
|
+
operation: "deleteUser"
|
|
1927
|
+
});
|
|
1928
|
+
var deleteUser_default = deleteUser;
|
|
1929
|
+
|
|
1930
|
+
//#endregion
|
|
1931
|
+
//#region src/api/agents/getAgents.ts
|
|
1932
|
+
/**
|
|
1933
|
+
* Retrieves a page of agents.
|
|
1934
|
+
*
|
|
1935
|
+
* @param config - Request configuration object.
|
|
1936
|
+
* @returns A promise that resolves with the page of agents.
|
|
1937
|
+
*
|
|
1938
|
+
* @example
|
|
1939
|
+
* ```typescript
|
|
1940
|
+
* const {agents, totalResults} = await getAgents({
|
|
1941
|
+
* baseUrl: 'https://localhost:8090',
|
|
1942
|
+
* limit: 10,
|
|
1943
|
+
* });
|
|
1944
|
+
* ```
|
|
1945
|
+
*/
|
|
1946
|
+
const getAgents = async ({ limit, offset,...config }) => requestManagementResource_default(config, {
|
|
1947
|
+
collection: "agents",
|
|
1948
|
+
failureMessage: "Failed to fetch agents",
|
|
1949
|
+
method: "GET",
|
|
1950
|
+
operation: "getAgents",
|
|
1951
|
+
query: {
|
|
1952
|
+
include: "display",
|
|
1953
|
+
limit,
|
|
1954
|
+
offset
|
|
1955
|
+
}
|
|
1956
|
+
});
|
|
1957
|
+
var getAgents_default = getAgents;
|
|
1958
|
+
|
|
1959
|
+
//#endregion
|
|
1960
|
+
//#region src/api/agents/getAgent.ts
|
|
1961
|
+
/**
|
|
1962
|
+
* Retrieves a single agent.
|
|
1963
|
+
*
|
|
1964
|
+
* @param config - Request configuration object.
|
|
1965
|
+
* @returns A promise that resolves with the agent.
|
|
1966
|
+
*
|
|
1967
|
+
* @example
|
|
1968
|
+
* ```typescript
|
|
1969
|
+
* const agent = await getAgent({
|
|
1970
|
+
* baseUrl: 'https://localhost:8090',
|
|
1971
|
+
* agentId: '6f1e2d3c-4b5a-4978-8a6b-5c4d3e2f1a0b',
|
|
1972
|
+
* });
|
|
1973
|
+
* ```
|
|
1974
|
+
*/
|
|
1975
|
+
const getAgent = async ({ agentId,...config }) => requestManagementResource_default(config, {
|
|
1976
|
+
collection: "agents",
|
|
1977
|
+
failureMessage: "Failed to fetch agent",
|
|
1978
|
+
id: agentId,
|
|
1979
|
+
method: "GET",
|
|
1980
|
+
operation: "getAgent",
|
|
1981
|
+
query: { include: "display" }
|
|
1982
|
+
});
|
|
1983
|
+
var getAgent_default = getAgent;
|
|
1984
|
+
|
|
1985
|
+
//#endregion
|
|
1986
|
+
//#region src/api/agents/createAgent.ts
|
|
1987
|
+
/**
|
|
1988
|
+
* Creates an agent.
|
|
1989
|
+
*
|
|
1990
|
+
* @param config - Request configuration object.
|
|
1991
|
+
* @returns A promise that resolves with the agent as the server stored it.
|
|
1992
|
+
*
|
|
1993
|
+
* @example
|
|
1994
|
+
* ```typescript
|
|
1995
|
+
* const agent = await createAgent({
|
|
1996
|
+
* baseUrl: 'https://localhost:8090',
|
|
1997
|
+
* payload: {ouId, type: 'default', name: 'Nightly Sync Worker'},
|
|
1998
|
+
* });
|
|
1999
|
+
* ```
|
|
2000
|
+
*/
|
|
2001
|
+
const createAgent = async ({ payload,...config }) => requestManagementResource_default(config, {
|
|
2002
|
+
body: payload,
|
|
2003
|
+
collection: "agents",
|
|
2004
|
+
failureMessage: "Failed to create agent",
|
|
2005
|
+
method: "POST",
|
|
2006
|
+
operation: "createAgent"
|
|
2007
|
+
});
|
|
2008
|
+
var createAgent_default = createAgent;
|
|
2009
|
+
|
|
2010
|
+
//#endregion
|
|
2011
|
+
//#region src/api/agents/updateAgent.ts
|
|
2012
|
+
/**
|
|
2013
|
+
* Updates an agent.
|
|
2014
|
+
*
|
|
2015
|
+
* @param config - Request configuration object.
|
|
2016
|
+
* @returns A promise that resolves with the updated agent.
|
|
2017
|
+
*
|
|
2018
|
+
* @example
|
|
2019
|
+
* ```typescript
|
|
2020
|
+
* const agent = await updateAgent({
|
|
2021
|
+
* baseUrl: 'https://localhost:8090',
|
|
2022
|
+
* agentId: '6f1e2d3c-4b5a-4978-8a6b-5c4d3e2f1a0b',
|
|
2023
|
+
* payload: {name: 'Renamed Agent'},
|
|
2024
|
+
* });
|
|
2025
|
+
* ```
|
|
2026
|
+
*/
|
|
2027
|
+
const updateAgent = async ({ agentId, payload,...config }) => requestManagementResource_default(config, {
|
|
2028
|
+
body: payload,
|
|
2029
|
+
collection: "agents",
|
|
2030
|
+
failureMessage: "Failed to update agent",
|
|
2031
|
+
id: agentId,
|
|
2032
|
+
method: "PUT",
|
|
2033
|
+
operation: "updateAgent"
|
|
2034
|
+
});
|
|
2035
|
+
var updateAgent_default = updateAgent;
|
|
2036
|
+
|
|
2037
|
+
//#endregion
|
|
2038
|
+
//#region src/api/agents/deleteAgent.ts
|
|
2039
|
+
/**
|
|
2040
|
+
* Deletes an agent.
|
|
2041
|
+
*
|
|
2042
|
+
* @param config - Request configuration object.
|
|
2043
|
+
* @returns A promise that resolves once the agent is deleted.
|
|
2044
|
+
*
|
|
2045
|
+
* @example
|
|
2046
|
+
* ```typescript
|
|
2047
|
+
* await deleteAgent({
|
|
2048
|
+
* baseUrl: 'https://localhost:8090',
|
|
2049
|
+
* agentId: '6f1e2d3c-4b5a-4978-8a6b-5c4d3e2f1a0b',
|
|
2050
|
+
* });
|
|
2051
|
+
* ```
|
|
2052
|
+
*/
|
|
2053
|
+
const deleteAgent = async ({ agentId,...config }) => requestManagementResource_default(config, {
|
|
2054
|
+
collection: "agents",
|
|
2055
|
+
failureMessage: "Failed to delete agent",
|
|
2056
|
+
id: agentId,
|
|
2057
|
+
method: "DELETE",
|
|
2058
|
+
operation: "deleteAgent"
|
|
2059
|
+
});
|
|
2060
|
+
var deleteAgent_default = deleteAgent;
|
|
2061
|
+
|
|
1545
2062
|
//#endregion
|
|
1546
2063
|
//#region src/constants/ApplicationNativeAuthenticationConstants.ts
|
|
1547
2064
|
/**
|
|
@@ -1625,6 +2142,28 @@ var OIDCRequestConstants_default = OIDCRequestConstants;
|
|
|
1625
2142
|
const VendorConstants = { VENDOR_PREFIX: "thunderid" };
|
|
1626
2143
|
var VendorConstants_default = VendorConstants;
|
|
1627
2144
|
|
|
2145
|
+
//#endregion
|
|
2146
|
+
//#region src/constants/CredentialConstants.ts
|
|
2147
|
+
/**
|
|
2148
|
+
* Constants for the credential types the server accepts on the self-service
|
|
2149
|
+
* credential write path.
|
|
2150
|
+
*
|
|
2151
|
+
* The server keys credentials by type. `password` is the one every user type schema
|
|
2152
|
+
* declares by default, hence a named constant for it; any other schema-declared
|
|
2153
|
+
* `credential: true` attribute (for example `pin`) can be self-managed too, just by its
|
|
2154
|
+
* own attribute name rather than a constant here.
|
|
2155
|
+
*
|
|
2156
|
+
* @example
|
|
2157
|
+
* ```typescript
|
|
2158
|
+
* await updateMeCredentials({
|
|
2159
|
+
* payload: {[CredentialConstants.PASSWORD]: newPassword},
|
|
2160
|
+
* url,
|
|
2161
|
+
* });
|
|
2162
|
+
* ```
|
|
2163
|
+
*/
|
|
2164
|
+
const CredentialConstants = { PASSWORD: "password" };
|
|
2165
|
+
var CredentialConstants_default = CredentialConstants;
|
|
2166
|
+
|
|
1628
2167
|
//#endregion
|
|
1629
2168
|
//#region src/constants/ConsentConstants.ts
|
|
1630
2169
|
/**
|
|
@@ -1649,6 +2188,42 @@ const ConsentConstants = {
|
|
|
1649
2188
|
};
|
|
1650
2189
|
var ConsentConstants_default = ConsentConstants;
|
|
1651
2190
|
|
|
2191
|
+
//#endregion
|
|
2192
|
+
//#region src/constants/ApplicationQueryKeys.ts
|
|
2193
|
+
/**
|
|
2194
|
+
* Cache keys for application resources. The SDK's reactive wrappers use them to refetch after a
|
|
2195
|
+
* mutation, and an application can reuse them as keys in its own data fetching cache.
|
|
2196
|
+
*/
|
|
2197
|
+
const ApplicationQueryKeys = {
|
|
2198
|
+
APPLICATION: "application",
|
|
2199
|
+
APPLICATIONS: "applications"
|
|
2200
|
+
};
|
|
2201
|
+
var ApplicationQueryKeys_default = ApplicationQueryKeys;
|
|
2202
|
+
|
|
2203
|
+
//#endregion
|
|
2204
|
+
//#region src/constants/UserQueryKeys.ts
|
|
2205
|
+
/**
|
|
2206
|
+
* Cache keys for user resources. The SDK's reactive wrappers use them to refetch after a mutation,
|
|
2207
|
+
* and an application can reuse them as keys in its own data fetching cache.
|
|
2208
|
+
*/
|
|
2209
|
+
const UserQueryKeys = {
|
|
2210
|
+
USER: "user",
|
|
2211
|
+
USERS: "users"
|
|
2212
|
+
};
|
|
2213
|
+
var UserQueryKeys_default = UserQueryKeys;
|
|
2214
|
+
|
|
2215
|
+
//#endregion
|
|
2216
|
+
//#region src/constants/AgentQueryKeys.ts
|
|
2217
|
+
/**
|
|
2218
|
+
* Cache keys for agent resources. The SDK's reactive wrappers use them to refetch after a mutation,
|
|
2219
|
+
* and an application can reuse them as keys in its own data fetching cache.
|
|
2220
|
+
*/
|
|
2221
|
+
const AgentQueryKeys = {
|
|
2222
|
+
AGENT: "agent",
|
|
2223
|
+
AGENTS: "agents"
|
|
2224
|
+
};
|
|
2225
|
+
var AgentQueryKeys_default = AgentQueryKeys;
|
|
2226
|
+
|
|
1652
2227
|
//#endregion
|
|
1653
2228
|
//#region src/errors/ThunderIDRuntimeError.ts
|
|
1654
2229
|
/**
|
|
@@ -1775,6 +2350,51 @@ let FlowMode = /* @__PURE__ */ function(FlowMode$1) {
|
|
|
1775
2350
|
return FlowMode$1;
|
|
1776
2351
|
}({});
|
|
1777
2352
|
|
|
2353
|
+
//#endregion
|
|
2354
|
+
//#region src/models/application.ts
|
|
2355
|
+
/**
|
|
2356
|
+
* OAuth 2.0 grant type values.
|
|
2357
|
+
*/
|
|
2358
|
+
const OAuth2GrantTypes = {
|
|
2359
|
+
AUTHORIZATION_CODE: "authorization_code",
|
|
2360
|
+
CIBA: "urn:openid:params:grant-type:ciba",
|
|
2361
|
+
CLIENT_CREDENTIALS: "client_credentials",
|
|
2362
|
+
IMPLICIT: "implicit",
|
|
2363
|
+
JWT_BEARER: "urn:ietf:params:oauth:grant-type:jwt-bearer",
|
|
2364
|
+
PASSWORD: "password",
|
|
2365
|
+
REFRESH_TOKEN: "refresh_token",
|
|
2366
|
+
TOKEN_EXCHANGE: "urn:ietf:params:oauth:grant-type:token-exchange"
|
|
2367
|
+
};
|
|
2368
|
+
/**
|
|
2369
|
+
* Grant types that can issue a refresh token.
|
|
2370
|
+
*/
|
|
2371
|
+
const REFRESH_TOKEN_ISSUING_GRANTS = [OAuth2GrantTypes.AUTHORIZATION_CODE, OAuth2GrantTypes.CIBA];
|
|
2372
|
+
/**
|
|
2373
|
+
* OAuth 2.0 response type values.
|
|
2374
|
+
*/
|
|
2375
|
+
const OAuth2ResponseTypes = {
|
|
2376
|
+
CODE: "code",
|
|
2377
|
+
CODE_ID_TOKEN: "code id_token",
|
|
2378
|
+
CODE_TOKEN: "code token",
|
|
2379
|
+
ID_TOKEN: "id_token",
|
|
2380
|
+
TOKEN: "token",
|
|
2381
|
+
TOKEN_ID_TOKEN: "token id_token"
|
|
2382
|
+
};
|
|
2383
|
+
/**
|
|
2384
|
+
* Token endpoint authentication methods an application can be configured with.
|
|
2385
|
+
*/
|
|
2386
|
+
const TokenEndpointAuthMethods = {
|
|
2387
|
+
CLIENT_SECRET_BASIC: "client_secret_basic",
|
|
2388
|
+
CLIENT_SECRET_JWT: "client_secret_jwt",
|
|
2389
|
+
CLIENT_SECRET_POST: "client_secret_post",
|
|
2390
|
+
NONE: "none",
|
|
2391
|
+
PRIVATE_KEY_JWT: "private_key_jwt"
|
|
2392
|
+
};
|
|
2393
|
+
/**
|
|
2394
|
+
* Inbound authentication protocol values.
|
|
2395
|
+
*/
|
|
2396
|
+
const InboundAuthTypes = { OAUTH2: "oauth2" };
|
|
2397
|
+
|
|
1778
2398
|
//#endregion
|
|
1779
2399
|
//#region src/models/field.ts
|
|
1780
2400
|
let FieldType = /* @__PURE__ */ function(FieldType$1) {
|
|
@@ -2300,9 +2920,13 @@ var processOpenIDScopes_default = processOpenIDScopes;
|
|
|
2300
2920
|
* endpoints. Used to keep these overrides out of the resolved OIDC provider metadata.
|
|
2301
2921
|
*/
|
|
2302
2922
|
const RESOURCE_ENDPOINT_KEYS = [
|
|
2923
|
+
"agents",
|
|
2924
|
+
"applications",
|
|
2303
2925
|
"flowExecute",
|
|
2304
2926
|
"flowMeta",
|
|
2927
|
+
"users",
|
|
2305
2928
|
"usersMe",
|
|
2929
|
+
"usersMeCredentials",
|
|
2306
2930
|
"usersMeMeta"
|
|
2307
2931
|
];
|
|
2308
2932
|
/**
|
|
@@ -4332,6 +4956,182 @@ const resolveFieldName = (field) => {
|
|
|
4332
4956
|
};
|
|
4333
4957
|
var resolveFieldName_default = resolveFieldName;
|
|
4334
4958
|
|
|
4959
|
+
//#endregion
|
|
4960
|
+
//#region src/utils/evaluatePasswordPolicy.ts
|
|
4961
|
+
/**
|
|
4962
|
+
* Evaluates a password against a policy, returning one result when the policy configures
|
|
4963
|
+
* a `regex` and none otherwise.
|
|
4964
|
+
*
|
|
4965
|
+
* An uncompilable `regex` is treated as passing, matching `evaluateValidationRule`:
|
|
4966
|
+
* the SDK stays lenient so a misconfigured schema cannot lock a user out of their own
|
|
4967
|
+
* password change.
|
|
4968
|
+
*
|
|
4969
|
+
* @param value - The candidate password.
|
|
4970
|
+
* @param policy - The rule to apply.
|
|
4971
|
+
* @returns A single-item list when `policy.regex` is set, otherwise an empty list.
|
|
4972
|
+
* @example
|
|
4973
|
+
* ```typescript
|
|
4974
|
+
* const results = evaluatePasswordPolicy('sh0rt', {regex: '^.{8,}$'});
|
|
4975
|
+
* const isValid = results.every(result => result.passed);
|
|
4976
|
+
* ```
|
|
4977
|
+
*/
|
|
4978
|
+
const evaluatePasswordPolicy = (value, policy) => {
|
|
4979
|
+
if (!policy.regex) return [];
|
|
4980
|
+
let matches = true;
|
|
4981
|
+
try {
|
|
4982
|
+
matches = new RegExp(policy.regex).test(value);
|
|
4983
|
+
} catch {
|
|
4984
|
+
matches = true;
|
|
4985
|
+
}
|
|
4986
|
+
return [{
|
|
4987
|
+
key: "regex",
|
|
4988
|
+
messageKey: "validation.password.pattern",
|
|
4989
|
+
passed: matches
|
|
4990
|
+
}];
|
|
4991
|
+
};
|
|
4992
|
+
var evaluatePasswordPolicy_default = evaluatePasswordPolicy;
|
|
4993
|
+
|
|
4994
|
+
//#endregion
|
|
4995
|
+
//#region src/utils/evaluateChangePasswordForm.ts
|
|
4996
|
+
/**
|
|
4997
|
+
* Evaluates a change-password form against a policy.
|
|
4998
|
+
*
|
|
4999
|
+
* Every predicate a change-password UI needs is derived here so the React and Vue
|
|
5000
|
+
* components stay pure rendering concerns and cannot drift apart on what counts as a
|
|
5001
|
+
* submittable form.
|
|
5002
|
+
*
|
|
5003
|
+
* @param values - The current field values.
|
|
5004
|
+
* @param policy - The rules the new password must satisfy.
|
|
5005
|
+
* @returns The derived flags plus the per-rule results.
|
|
5006
|
+
* @example
|
|
5007
|
+
* ```typescript
|
|
5008
|
+
* const {isValid, ruleResults} = evaluateChangePasswordForm(
|
|
5009
|
+
* {confirmPassword, newPassword},
|
|
5010
|
+
* {regex: '^.{12,}$'},
|
|
5011
|
+
* );
|
|
5012
|
+
* const canSubmit = !loading && isValid;
|
|
5013
|
+
* ```
|
|
5014
|
+
*/
|
|
5015
|
+
const evaluateChangePasswordForm = (values, policy) => {
|
|
5016
|
+
const { confirmPassword, newPassword } = values;
|
|
5017
|
+
const ruleResults = evaluatePasswordPolicy_default(newPassword, policy);
|
|
5018
|
+
const meetsPolicy = ruleResults.every((rule) => rule.passed);
|
|
5019
|
+
const confirmMatches = newPassword === confirmPassword;
|
|
5020
|
+
return {
|
|
5021
|
+
confirmMatches,
|
|
5022
|
+
isValid: newPassword !== "" && confirmPassword !== "" && meetsPolicy && confirmMatches,
|
|
5023
|
+
meetsPolicy,
|
|
5024
|
+
ruleResults
|
|
5025
|
+
};
|
|
5026
|
+
};
|
|
5027
|
+
var evaluateChangePasswordForm_default = evaluateChangePasswordForm;
|
|
5028
|
+
|
|
5029
|
+
//#endregion
|
|
5030
|
+
//#region src/utils/resolveChangeCredentialPolicy.ts
|
|
5031
|
+
/**
|
|
5032
|
+
* Resolves the rules a change-credential form should enforce for the given credential.
|
|
5033
|
+
*
|
|
5034
|
+
* The organization's own policy, expressed as the credential attribute's `regex` in
|
|
5035
|
+
* `GET /users/me/meta`, is the sole source of truth: the SDK does not layer its own
|
|
5036
|
+
* character-class or length rules on top, since doing so could reject a value the
|
|
5037
|
+
* organization's policy accepts. When the schema carries no regex for this credential,
|
|
5038
|
+
* there is no policy to check client-side and the requirement checklist is simply empty.
|
|
5039
|
+
*
|
|
5040
|
+
* @param userSchema - The user type schema resolved by the provider, keyed by attribute.
|
|
5041
|
+
* @param attribute - The credential attribute this form manages (e.g. `password`, `pin`).
|
|
5042
|
+
* @param override - An explicit policy supplied by the caller, which wins outright.
|
|
5043
|
+
* @returns The policy to hand to {@link evaluatePasswordPolicy}.
|
|
5044
|
+
* @example
|
|
5045
|
+
* ```typescript
|
|
5046
|
+
* const policy = resolveChangeCredentialPolicy(userSchema, 'pin', undefined);
|
|
5047
|
+
* const results = evaluatePasswordPolicy(candidate, policy);
|
|
5048
|
+
* ```
|
|
5049
|
+
*/
|
|
5050
|
+
const resolveChangeCredentialPolicy = (userSchema, attribute, override) => {
|
|
5051
|
+
if (override) return override;
|
|
5052
|
+
const schemaRegex = userSchema?.[attribute]?.regex;
|
|
5053
|
+
return schemaRegex ? { regex: schemaRegex } : {};
|
|
5054
|
+
};
|
|
5055
|
+
var resolveChangeCredentialPolicy_default = resolveChangeCredentialPolicy;
|
|
5056
|
+
|
|
5057
|
+
//#endregion
|
|
5058
|
+
//#region src/utils/supportsCredential.ts
|
|
5059
|
+
/**
|
|
5060
|
+
* Whether the signed-in user's type allows them to set the given credential for themselves.
|
|
5061
|
+
*
|
|
5062
|
+
* The user type schema from `GET /users/me/meta` is the only thing a client can check before
|
|
5063
|
+
* rendering. It says whether the credential is declared on this type at all, which is a property
|
|
5064
|
+
* of the type rather than of the account, so it cannot say whether this particular user has one
|
|
5065
|
+
* stored today. That second question is the server's to answer.
|
|
5066
|
+
*
|
|
5067
|
+
* Without this check the form would submit into a guaranteed failure. `POST
|
|
5068
|
+
* /users/me/update-credentials` rejects a write for a name not declared on the type, since the
|
|
5069
|
+
* entity layer only accepts schema-declared credential keys.
|
|
5070
|
+
*
|
|
5071
|
+
* An absent schema means the answer is not known yet, either because the profile is still loading
|
|
5072
|
+
* or because the consuming app never supplied one. Both resolve to `true` so a change-credential
|
|
5073
|
+
* affordance is never hidden on missing information alone, and so apps that do not wire up
|
|
5074
|
+
* `userSchema` keep the behaviour they had before this check existed.
|
|
5075
|
+
*
|
|
5076
|
+
* @param userSchema - The user type schema resolved by the provider, keyed by attribute.
|
|
5077
|
+
* @param attribute - The credential attribute to check (e.g. `password`, `pin`).
|
|
5078
|
+
* @returns `false` only when the schema is known and either defines no attribute named
|
|
5079
|
+
* `attribute` or defines one that isn't marked `credential: true`.
|
|
5080
|
+
* @example
|
|
5081
|
+
* ```typescript
|
|
5082
|
+
* if (!supportsCredential(userSchema, 'pin')) {
|
|
5083
|
+
* return null;
|
|
5084
|
+
* }
|
|
5085
|
+
* ```
|
|
5086
|
+
*/
|
|
5087
|
+
const supportsCredential = (userSchema, attribute) => {
|
|
5088
|
+
if (!userSchema) return true;
|
|
5089
|
+
return userSchema[attribute]?.credential === true;
|
|
5090
|
+
};
|
|
5091
|
+
var supportsCredential_default = supportsCredential;
|
|
5092
|
+
|
|
5093
|
+
//#endregion
|
|
5094
|
+
//#region src/utils/mapCredentialUpdateError.ts
|
|
5095
|
+
/**
|
|
5096
|
+
* Maps a failure from the credential write path onto the field that caused it.
|
|
5097
|
+
*
|
|
5098
|
+
* `400` is the new password failing a server-side check. Everything else, including a
|
|
5099
|
+
* `403`, has no single field to blame here: this form collects no current-value field for
|
|
5100
|
+
* a `403` to attach to, since the server does not verify one on this path today.
|
|
5101
|
+
*
|
|
5102
|
+
* @param error - The value thrown by the credential update call.
|
|
5103
|
+
* @returns Where to show the failure and what to show.
|
|
5104
|
+
* @example
|
|
5105
|
+
* ```typescript
|
|
5106
|
+
* const {field, message, messageKey} = mapCredentialUpdateError(caughtError);
|
|
5107
|
+
* const text = message ?? t(messageKey);
|
|
5108
|
+
*
|
|
5109
|
+
* if (field) {
|
|
5110
|
+
* setFieldErrors({[field]: text});
|
|
5111
|
+
* } else {
|
|
5112
|
+
* setError(text);
|
|
5113
|
+
* }
|
|
5114
|
+
* ```
|
|
5115
|
+
*/
|
|
5116
|
+
const GENERIC_MESSAGE_KEY = "user.change_password.generic.error";
|
|
5117
|
+
const mapCredentialUpdateError = (error$1) => {
|
|
5118
|
+
if ((error$1 instanceof ThunderIDAPIError ? error$1.statusCode : void 0) === 400 && error$1 instanceof ThunderIDError) return {
|
|
5119
|
+
field: "newPassword",
|
|
5120
|
+
message: error$1.message,
|
|
5121
|
+
messageKey: GENERIC_MESSAGE_KEY
|
|
5122
|
+
};
|
|
5123
|
+
if (error$1 instanceof ThunderIDError) return {
|
|
5124
|
+
field: null,
|
|
5125
|
+
message: error$1.message,
|
|
5126
|
+
messageKey: GENERIC_MESSAGE_KEY
|
|
5127
|
+
};
|
|
5128
|
+
return {
|
|
5129
|
+
field: null,
|
|
5130
|
+
messageKey: GENERIC_MESSAGE_KEY
|
|
5131
|
+
};
|
|
5132
|
+
};
|
|
5133
|
+
var mapCredentialUpdateError_default = mapCredentialUpdateError;
|
|
5134
|
+
|
|
4335
5135
|
//#endregion
|
|
4336
5136
|
//#region src/utils/resolveMeta.ts
|
|
4337
5137
|
/**
|
|
@@ -4965,6 +5765,19 @@ const en_US = {
|
|
|
4965
5765
|
"passkey.register.description": "Create a passkey to securely sign in to your account without a password.",
|
|
4966
5766
|
"user.profile.heading": "Profile",
|
|
4967
5767
|
"user.profile.update.generic.error": "An error occurred while updating your profile. Please try again.",
|
|
5768
|
+
"user.change_password.heading": "Change {credential}",
|
|
5769
|
+
"user.change_password.new.label": "New {credential}",
|
|
5770
|
+
"user.change_password.new.placeholder": "Enter your new {credentialLower}",
|
|
5771
|
+
"user.change_password.confirm.label": "Confirm New {credential}",
|
|
5772
|
+
"user.change_password.confirm.placeholder": "Re-enter your new {credentialLower}",
|
|
5773
|
+
"user.change_password.requirements.heading": "Your {credentialLower} must have:",
|
|
5774
|
+
"user.change_password.submit": "Update {credential}",
|
|
5775
|
+
"user.change_password.success": "Your {credentialLower} has been updated.",
|
|
5776
|
+
"user.change_password.mismatch.error": "{credential}s do not match.",
|
|
5777
|
+
"user.change_password.generic.error": "An error occurred while updating your {credentialLower}. Please try again.",
|
|
5778
|
+
"user.change_password.unavailable.heading": "{credential} changes unavailable",
|
|
5779
|
+
"user.change_password.unavailable.description": "Please contact your administrator.",
|
|
5780
|
+
"validation.password.pattern": "Matches the required format",
|
|
4968
5781
|
"organization.switcher.switch.organization": "Switch Organization",
|
|
4969
5782
|
"organization.switcher.loading.placeholder.organizations": "Loading organizations...",
|
|
4970
5783
|
"organization.switcher.members": "members",
|
|
@@ -5086,6 +5899,19 @@ const fr_FR = {
|
|
|
5086
5899
|
"passkey.register.description": "Créez une clé d'accès pour vous connecter en toute sécurité à votre compte sans mot de passe.",
|
|
5087
5900
|
"user.profile.heading": "Profil",
|
|
5088
5901
|
"user.profile.update.generic.error": "Une erreur est survenue lors de la mise à jour de votre profil. Veuillez réessayer.",
|
|
5902
|
+
"user.change_password.heading": "Modifier {credential}",
|
|
5903
|
+
"user.change_password.new.label": "Nouveau {credential}",
|
|
5904
|
+
"user.change_password.new.placeholder": "Entrez votre nouveau {credentialLower}",
|
|
5905
|
+
"user.change_password.confirm.label": "Confirmer le nouveau {credential}",
|
|
5906
|
+
"user.change_password.confirm.placeholder": "Saisissez à nouveau votre nouveau {credentialLower}",
|
|
5907
|
+
"user.change_password.requirements.heading": "Votre {credentialLower} doit contenir :",
|
|
5908
|
+
"user.change_password.submit": "Mettre à jour {credential}",
|
|
5909
|
+
"user.change_password.success": "Votre {credentialLower} a été mis à jour.",
|
|
5910
|
+
"user.change_password.mismatch.error": "Les {credentialLower}s ne correspondent pas.",
|
|
5911
|
+
"user.change_password.generic.error": "Une erreur est survenue lors de la mise à jour de votre {credentialLower}. Veuillez réessayer.",
|
|
5912
|
+
"user.change_password.unavailable.heading": "Modification du {credentialLower} indisponible",
|
|
5913
|
+
"user.change_password.unavailable.description": "Veuillez contacter votre administrateur.",
|
|
5914
|
+
"validation.password.pattern": "Correspond au format requis",
|
|
5089
5915
|
"organization.switcher.switch.organization": "Changer d'organisation",
|
|
5090
5916
|
"organization.switcher.loading.placeholder.organizations": "Chargement des organisations...",
|
|
5091
5917
|
"organization.switcher.members": "membres",
|
|
@@ -5207,6 +6033,19 @@ const te_IN = {
|
|
|
5207
6033
|
"passkey.register.description": "పాస్వర్డ్ లేకుండా మీ ఖాతాలోకి సురక్షితంగా సైన్ ఇన్ చేయడానికి Passkey ని సృష్టించండి.",
|
|
5208
6034
|
"user.profile.heading": "ప్రొఫైల్",
|
|
5209
6035
|
"user.profile.update.generic.error": "ప్రొఫైల్ అప్డేట్ చేస్తూ లోపం వచ్చింది. దయచేసి మళ్లీ ప్రయత్నించండి.",
|
|
6036
|
+
"user.change_password.heading": "{credential} మార్చండి",
|
|
6037
|
+
"user.change_password.new.label": "కొత్త {credential}",
|
|
6038
|
+
"user.change_password.new.placeholder": "మీ కొత్త {credentialLower} నమోదు చేయండి",
|
|
6039
|
+
"user.change_password.confirm.label": "కొత్త {credential} నిర్ధారించండి",
|
|
6040
|
+
"user.change_password.confirm.placeholder": "మీ కొత్త {credentialLower}ని మళ్లీ నమోదు చేయండి",
|
|
6041
|
+
"user.change_password.requirements.heading": "మీ {credentialLower} కింది వాటిని కలిగి ఉండాలి:",
|
|
6042
|
+
"user.change_password.submit": "{credential} నవీకరించండి",
|
|
6043
|
+
"user.change_password.success": "మీ {credentialLower} నవీకరించబడింది.",
|
|
6044
|
+
"user.change_password.mismatch.error": "{credentialLower} సరిపోలలేదు.",
|
|
6045
|
+
"user.change_password.generic.error": "మీ {credentialLower} నవీకరించేటప్పుడు లోపం వచ్చింది. దయచేసి మళ్లీ ప్రయత్నించండి.",
|
|
6046
|
+
"user.change_password.unavailable.heading": "{credential} మార్పులు అందుబాటులో లేవు",
|
|
6047
|
+
"user.change_password.unavailable.description": "దయచేసి మీ నిర్వాహకుడిని సంప్రదించండి.",
|
|
6048
|
+
"validation.password.pattern": "అవసరమైన ఫార్మాట్కు సరిపోతుంది",
|
|
5210
6049
|
"organization.switcher.switch.organization": "ఆర్గనైజేషన్ మార్చండి",
|
|
5211
6050
|
"organization.switcher.loading.placeholder.organizations": "ఆర్గనైజేషన్లు లోడ్ అవుతున్నాయి...",
|
|
5212
6051
|
"organization.switcher.members": "సభ్యులు",
|
|
@@ -5328,6 +6167,19 @@ const hi_IN = {
|
|
|
5328
6167
|
"passkey.register.description": "बिना पासवर्ड के अपने खाते में सुरक्षित रूप से साइन इन करने के लिए एक Passkey बनाएं।",
|
|
5329
6168
|
"user.profile.heading": "प्रोफ़ाइल",
|
|
5330
6169
|
"user.profile.update.generic.error": "प्रोफ़ाइल अपडेट करते समय त्रुटि हुई। कृपया पुनः प्रयास करें।",
|
|
6170
|
+
"user.change_password.heading": "{credential} बदलें",
|
|
6171
|
+
"user.change_password.new.label": "नया {credential}",
|
|
6172
|
+
"user.change_password.new.placeholder": "अपना नया {credentialLower} दर्ज करें",
|
|
6173
|
+
"user.change_password.confirm.label": "नए {credential} की पुष्टि करें",
|
|
6174
|
+
"user.change_password.confirm.placeholder": "अपना नया {credentialLower} फिर से दर्ज करें",
|
|
6175
|
+
"user.change_password.requirements.heading": "आपके {credentialLower} में यह होना चाहिए:",
|
|
6176
|
+
"user.change_password.submit": "{credential} अपडेट करें",
|
|
6177
|
+
"user.change_password.success": "आपका {credentialLower} अपडेट कर दिया गया है।",
|
|
6178
|
+
"user.change_password.mismatch.error": "{credential} मेल नहीं खाते।",
|
|
6179
|
+
"user.change_password.generic.error": "आपका {credentialLower} अपडेट करते समय त्रुटि हुई। कृपया पुनः प्रयास करें।",
|
|
6180
|
+
"user.change_password.unavailable.heading": "{credential} परिवर्तन उपलब्ध नहीं है",
|
|
6181
|
+
"user.change_password.unavailable.description": "कृपया अपने व्यवस्थापक से संपर्क करें।",
|
|
6182
|
+
"validation.password.pattern": "आवश्यक प्रारूप से मेल खाता है",
|
|
5331
6183
|
"organization.switcher.switch.organization": "संगठन बदलें",
|
|
5332
6184
|
"organization.switcher.loading.placeholder.organizations": "संगठन लोड हो रहे हैं...",
|
|
5333
6185
|
"organization.switcher.members": "सदस्य",
|
|
@@ -5449,6 +6301,19 @@ const pt_BR = {
|
|
|
5449
6301
|
"passkey.register.description": "Crie uma passkey para entrar em sua conta com segurança sem uma senha.",
|
|
5450
6302
|
"user.profile.heading": "Perfil",
|
|
5451
6303
|
"user.profile.update.generic.error": "Ocorreu um erro ao atualizar seu perfil. Tente novamente.",
|
|
6304
|
+
"user.change_password.heading": "Alterar {credential}",
|
|
6305
|
+
"user.change_password.new.label": "Novo {credential}",
|
|
6306
|
+
"user.change_password.new.placeholder": "Digite seu novo {credentialLower}",
|
|
6307
|
+
"user.change_password.confirm.label": "Confirmar novo {credential}",
|
|
6308
|
+
"user.change_password.confirm.placeholder": "Digite novamente seu novo {credentialLower}",
|
|
6309
|
+
"user.change_password.requirements.heading": "Seu {credentialLower} deve conter:",
|
|
6310
|
+
"user.change_password.submit": "Atualizar {credential}",
|
|
6311
|
+
"user.change_password.success": "Seu {credentialLower} foi atualizado.",
|
|
6312
|
+
"user.change_password.mismatch.error": "Os {credentialLower}s não coincidem.",
|
|
6313
|
+
"user.change_password.generic.error": "Ocorreu um erro ao atualizar seu {credentialLower}. Tente novamente.",
|
|
6314
|
+
"user.change_password.unavailable.heading": "Alteração de {credentialLower} indisponível",
|
|
6315
|
+
"user.change_password.unavailable.description": "Entre em contato com o administrador.",
|
|
6316
|
+
"validation.password.pattern": "Corresponde ao formato exigido",
|
|
5452
6317
|
"organization.switcher.switch.organization": "Trocar Organização",
|
|
5453
6318
|
"organization.switcher.loading.placeholder.organizations": "Carregando organizações...",
|
|
5454
6319
|
"organization.switcher.members": "membros",
|
|
@@ -5570,6 +6435,19 @@ const pt_PT = {
|
|
|
5570
6435
|
"passkey.register.description": "Crie uma passkey para iniciar sessão na sua conta com segurança sem palavra-passe.",
|
|
5571
6436
|
"user.profile.heading": "Perfil",
|
|
5572
6437
|
"user.profile.update.generic.error": "Ocorreu um erro ao actualizar o seu perfil. Tente novamente.",
|
|
6438
|
+
"user.change_password.heading": "Alterar {credential}",
|
|
6439
|
+
"user.change_password.new.label": "Novo {credential}",
|
|
6440
|
+
"user.change_password.new.placeholder": "Introduza o seu novo {credentialLower}",
|
|
6441
|
+
"user.change_password.confirm.label": "Confirmar novo {credential}",
|
|
6442
|
+
"user.change_password.confirm.placeholder": "Introduza novamente o seu novo {credentialLower}",
|
|
6443
|
+
"user.change_password.requirements.heading": "O seu {credentialLower} deve conter:",
|
|
6444
|
+
"user.change_password.submit": "Atualizar {credential}",
|
|
6445
|
+
"user.change_password.success": "O seu {credentialLower} foi atualizado.",
|
|
6446
|
+
"user.change_password.mismatch.error": "Os {credentialLower}s não coincidem.",
|
|
6447
|
+
"user.change_password.generic.error": "Ocorreu um erro ao actualizar o seu {credentialLower}. Tente novamente.",
|
|
6448
|
+
"user.change_password.unavailable.heading": "Alteração de {credentialLower} indisponível",
|
|
6449
|
+
"user.change_password.unavailable.description": "Contacte o seu administrador.",
|
|
6450
|
+
"validation.password.pattern": "Corresponde ao formato exigido",
|
|
5573
6451
|
"organization.switcher.switch.organization": "Trocar Organização",
|
|
5574
6452
|
"organization.switcher.loading.placeholder.organizations": "A carregar organizações...",
|
|
5575
6453
|
"organization.switcher.members": "membros",
|
|
@@ -5691,6 +6569,19 @@ const ta_IN = {
|
|
|
5691
6569
|
"passkey.register.description": "கடவுச்சொல் இல்லாமல் பாதுகாப்பாக உள்நுழைய ஒரு passkey-ஐ உருவாக்கவும்.",
|
|
5692
6570
|
"user.profile.heading": "சுயவிவரம்",
|
|
5693
6571
|
"user.profile.update.generic.error": "உங்கள் சுயவிவரத்தை புதுப்பிக்கும் போது பிழை ஏற்பட்டது. மீண்டும் முயற்சிக்கவும்.",
|
|
6572
|
+
"user.change_password.heading": "{credential} மாற்றவும்",
|
|
6573
|
+
"user.change_password.new.label": "புதிய {credential}",
|
|
6574
|
+
"user.change_password.new.placeholder": "உங்கள் புதிய {credentialLower}-ஐ உள்ளிடவும்",
|
|
6575
|
+
"user.change_password.confirm.label": "புதிய {credential}-ஐ உறுதிப்படுத்தவும்",
|
|
6576
|
+
"user.change_password.confirm.placeholder": "உங்கள் புதிய {credentialLower}-ஐ மீண்டும் உள்ளிடவும்",
|
|
6577
|
+
"user.change_password.requirements.heading": "உங்கள் {credentialLower} பின்வருவனவற்றைக் கொண்டிருக்க வேண்டும்:",
|
|
6578
|
+
"user.change_password.submit": "{credential}-ஐ புதுப்பிக்கவும்",
|
|
6579
|
+
"user.change_password.success": "உங்கள் {credentialLower} புதுப்பிக்கப்பட்டது.",
|
|
6580
|
+
"user.change_password.mismatch.error": "{credentialLower} பொருந்தவில்லை.",
|
|
6581
|
+
"user.change_password.generic.error": "உங்கள் {credentialLower}-ஐ புதுப்பிக்கும் போது பிழை ஏற்பட்டது. மீண்டும் முயற்சிக்கவும்.",
|
|
6582
|
+
"user.change_password.unavailable.heading": "{credential} மாற்றங்கள் கிடைக்கவில்லை",
|
|
6583
|
+
"user.change_password.unavailable.description": "உங்கள் நிர்வாகியை தொடர்பு கொள்ளவும்.",
|
|
6584
|
+
"validation.password.pattern": "தேவையான வடிவமைப்பிற்கு பொருந்துகிறது",
|
|
5694
6585
|
"organization.switcher.switch.organization": "அமைப்பை மாற்று",
|
|
5695
6586
|
"organization.switcher.loading.placeholder.organizations": "அமைப்புகள் ஏற்றப்படுகின்றன...",
|
|
5696
6587
|
"organization.switcher.members": "உறுப்பினர்கள்",
|
|
@@ -5812,6 +6703,19 @@ const si_LK = {
|
|
|
5812
6703
|
"passkey.register.description": "මුරපදයක් නොමැතිව ඔබේ ගිණුමට ආරක්ෂිතව ඇතුල් වීමට passkey එකක් සාදන්න.",
|
|
5813
6704
|
"user.profile.heading": "පැතිකඩ",
|
|
5814
6705
|
"user.profile.update.generic.error": "ඔබේ පැතිකඩ යාවත්කාලීන කිරීමේදී දෝෂයක් ඇතිවිය.කරුණාකර නැවත උත්සාහ කරන්න",
|
|
6706
|
+
"user.change_password.heading": "{credential} වෙනස් කරන්න",
|
|
6707
|
+
"user.change_password.new.label": "නව {credential}",
|
|
6708
|
+
"user.change_password.new.placeholder": "ඔබේ නව {credentialLower} ඇතුළත් කරන්න",
|
|
6709
|
+
"user.change_password.confirm.label": "නව {credential} තහවුරු කරන්න",
|
|
6710
|
+
"user.change_password.confirm.placeholder": "ඔබේ නව {credentialLower} නැවත ඇතුළත් කරන්න",
|
|
6711
|
+
"user.change_password.requirements.heading": "ඔබේ {credentialLower} තුළ තිබිය යුතුය:",
|
|
6712
|
+
"user.change_password.submit": "{credential} යාවත්කාලීන කරන්න",
|
|
6713
|
+
"user.change_password.success": "ඔබේ {credentialLower} යාවත්කාලීන කර ඇත.",
|
|
6714
|
+
"user.change_password.mismatch.error": "{credentialLower} නොගැලපේ.",
|
|
6715
|
+
"user.change_password.generic.error": "ඔබේ {credentialLower} යාවත්කාලීන කිරීමේදී දෝෂයක් ඇතිවිය. කරුණාකර නැවත උත්සාහ කරන්න.",
|
|
6716
|
+
"user.change_password.unavailable.heading": "{credential} වෙනස් කිරීම් ලබා ගත නොහැක",
|
|
6717
|
+
"user.change_password.unavailable.description": "කරුණාකර ඔබේ පරිපාලක සම්බන්ධ කර ගන්න.",
|
|
6718
|
+
"validation.password.pattern": "අවශ්ය ආකෘතියට ගැලපේ",
|
|
5815
6719
|
"organization.switcher.switch.organization": "සංවිධානය මාරු කරන්න",
|
|
5816
6720
|
"organization.switcher.loading.placeholder.organizations": "සංවිධාන ලෝඩ් වෙමින්...",
|
|
5817
6721
|
"organization.switcher.members": "සාමාජිකයන්",
|
|
@@ -5949,9 +6853,12 @@ const normalizeTranslations = (translations) => {
|
|
|
5949
6853
|
var normalizeTranslations_default = normalizeTranslations;
|
|
5950
6854
|
|
|
5951
6855
|
//#endregion
|
|
6856
|
+
exports.AgentQueryKeys = AgentQueryKeys_default;
|
|
5952
6857
|
exports.ApplicationNativeAuthenticationConstants = ApplicationNativeAuthenticationConstants_default;
|
|
6858
|
+
exports.ApplicationQueryKeys = ApplicationQueryKeys_default;
|
|
5953
6859
|
exports.AuthenticationHelper = AuthenticationHelper_default;
|
|
5954
6860
|
exports.ConsentConstants = ConsentConstants_default;
|
|
6861
|
+
exports.CredentialConstants = CredentialConstants_default;
|
|
5955
6862
|
exports.DEFAULT_THEME = DEFAULT_THEME;
|
|
5956
6863
|
exports.DEFAULT_VALIDATION_MESSAGE_KEYS = DEFAULT_VALIDATION_MESSAGE_KEYS;
|
|
5957
6864
|
exports.EMOJI_URI_SCHEME = EMOJI_URI_SCHEME;
|
|
@@ -5971,8 +6878,12 @@ exports.FieldType = FieldType;
|
|
|
5971
6878
|
exports.FlowMetaType = FlowMetaType;
|
|
5972
6879
|
exports.FlowMode = FlowMode;
|
|
5973
6880
|
exports.HttpClient = HttpClient;
|
|
6881
|
+
exports.InboundAuthTypes = InboundAuthTypes;
|
|
5974
6882
|
exports.IsomorphicCrypto = IsomorphicCrypto;
|
|
6883
|
+
exports.OAuth2GrantTypes = OAuth2GrantTypes;
|
|
6884
|
+
exports.OAuth2ResponseTypes = OAuth2ResponseTypes;
|
|
5975
6885
|
exports.OIDCRequestConstants = OIDCRequestConstants_default;
|
|
6886
|
+
exports.REFRESH_TOKEN_ISSUING_GRANTS = REFRESH_TOKEN_ISSUING_GRANTS;
|
|
5976
6887
|
exports.StorageManager = StorageManager_default;
|
|
5977
6888
|
exports.ThunderIDAPIError = ThunderIDAPIError;
|
|
5978
6889
|
exports.ThunderIDAuthException = ThunderIDAuthException;
|
|
@@ -5980,7 +6891,9 @@ exports.ThunderIDError = ThunderIDError;
|
|
|
5980
6891
|
exports.ThunderIDJavaScriptClient = ThunderIDJavaScriptClient_default;
|
|
5981
6892
|
exports.ThunderIDRuntimeError = ThunderIDRuntimeError;
|
|
5982
6893
|
exports.TokenConstants = TokenConstants_default;
|
|
6894
|
+
exports.TokenEndpointAuthMethods = TokenEndpointAuthMethods;
|
|
5983
6895
|
exports.TranslationBundleConstants = TranslationBundleConstants_default;
|
|
6896
|
+
exports.UserQueryKeys = UserQueryKeys_default;
|
|
5984
6897
|
exports.VendorConstants = VendorConstants_default;
|
|
5985
6898
|
exports.arrayBufferToBase64url = arrayBufferToBase64url_default;
|
|
5986
6899
|
exports.base64urlToArrayBuffer = base64urlToArrayBuffer_default;
|
|
@@ -5988,14 +6901,22 @@ exports.bem = bem_default;
|
|
|
5988
6901
|
exports.buildValidatorFromRules = buildValidatorFromRules_default;
|
|
5989
6902
|
exports.configureLogger = configure;
|
|
5990
6903
|
exports.countryCodeToFlagEmoji = countryCodeToFlagEmoji;
|
|
6904
|
+
exports.createAgent = createAgent_default;
|
|
6905
|
+
exports.createApplication = createApplication_default;
|
|
5991
6906
|
exports.createComponentLogger = createComponentLogger;
|
|
5992
6907
|
exports.createLogger = createLogger;
|
|
5993
6908
|
exports.createPackageComponentLogger = createPackageComponentLogger;
|
|
5994
6909
|
exports.createPackageLogger = createPackageLogger;
|
|
5995
6910
|
exports.createTheme = createTheme_default;
|
|
6911
|
+
exports.createUser = createUser_default;
|
|
5996
6912
|
exports.debug = debug;
|
|
5997
6913
|
exports.deepMerge = deepMerge_default;
|
|
6914
|
+
exports.deleteAgent = deleteAgent_default;
|
|
6915
|
+
exports.deleteApplication = deleteApplication_default;
|
|
6916
|
+
exports.deleteUser = deleteUser_default;
|
|
5998
6917
|
exports.error = error;
|
|
6918
|
+
exports.evaluateChangePasswordForm = evaluateChangePasswordForm_default;
|
|
6919
|
+
exports.evaluatePasswordPolicy = evaluatePasswordPolicy_default;
|
|
5999
6920
|
exports.evaluateValidationRule = evaluateValidationRule_default;
|
|
6000
6921
|
exports.executeEmbeddedRecoveryFlow = executeEmbeddedRecoveryFlow_default;
|
|
6001
6922
|
exports.executeEmbeddedSignInFlow = executeEmbeddedSignInFlow_default;
|
|
@@ -6007,13 +6928,19 @@ exports.extractUserClaimsFromIdToken = extractUserClaimsFromIdToken_default;
|
|
|
6007
6928
|
exports.formatDate = formatDate_default;
|
|
6008
6929
|
exports.generateFlattenedUserProfile = generateFlattenedUserProfile_default;
|
|
6009
6930
|
exports.get = get_default;
|
|
6931
|
+
exports.getAgent = getAgent_default;
|
|
6932
|
+
exports.getAgents = getAgents_default;
|
|
6933
|
+
exports.getApplication = getApplication_default;
|
|
6934
|
+
exports.getApplications = getApplications_default;
|
|
6010
6935
|
exports.getBaseLanguage = getBaseLanguage;
|
|
6011
6936
|
exports.getDefaultI18nBundles = getDefaultI18nBundles_default;
|
|
6012
6937
|
exports.getFlowMeta = getFlowMeta_default;
|
|
6013
6938
|
exports.getLatestStateParam = getLatestStateParam_default;
|
|
6014
6939
|
exports.getOrganizationUnitChildren = getOrganizationUnitChildren_default;
|
|
6015
6940
|
exports.getRedirectBasedSignUpUrl = getRedirectBasedSignUpUrl_default;
|
|
6941
|
+
exports.getUser = getUser_default;
|
|
6016
6942
|
exports.getUserInfo = getUserInfo_default;
|
|
6943
|
+
exports.getUsers = getUsers_default;
|
|
6017
6944
|
exports.getUsersMe = getUsersMe_default;
|
|
6018
6945
|
exports.getUsersMeMeta = getUsersMeMeta_default;
|
|
6019
6946
|
exports.getVendorPrefix = getVendorPrefix_default;
|
|
@@ -6023,10 +6950,12 @@ exports.isEmojiUri = isEmojiUri_default;
|
|
|
6023
6950
|
exports.isEmpty = isEmpty_default;
|
|
6024
6951
|
exports.isRecognizedBaseUrlPattern = isRecognizedBaseUrlPattern_default;
|
|
6025
6952
|
exports.logger = logger_default;
|
|
6953
|
+
exports.mapCredentialUpdateError = mapCredentialUpdateError_default;
|
|
6026
6954
|
exports.normalizeLocaleTag = normalizeLocaleTag;
|
|
6027
6955
|
exports.normalizeTranslations = normalizeTranslations_default;
|
|
6028
6956
|
exports.processOpenIDScopes = processOpenIDScopes_default;
|
|
6029
6957
|
exports.removeTrailingSlash = removeTrailingSlash_default;
|
|
6958
|
+
exports.resolveChangeCredentialPolicy = resolveChangeCredentialPolicy_default;
|
|
6030
6959
|
exports.resolveFieldName = resolveFieldName_default;
|
|
6031
6960
|
exports.resolveFlowTemplateLiterals = resolveFlowTemplateLiterals;
|
|
6032
6961
|
exports.resolveLocaleDisplayName = resolveLocaleDisplayName;
|
|
@@ -6036,6 +6965,11 @@ exports.resolveResourceEndpoint = resolveResourceEndpoint_default;
|
|
|
6036
6965
|
exports.set = set_default;
|
|
6037
6966
|
exports.startCase = startCase_default;
|
|
6038
6967
|
exports.substituteTranslationParams = substituteTranslationParams_default;
|
|
6968
|
+
exports.supportsCredential = supportsCredential_default;
|
|
6969
|
+
exports.updateAgent = updateAgent_default;
|
|
6970
|
+
exports.updateApplication = updateApplication_default;
|
|
6971
|
+
exports.updateMeCredentials = updateMeCredentials_default;
|
|
6039
6972
|
exports.updateMeProfile = updateMeProfile_default;
|
|
6973
|
+
exports.updateUser = updateUser_default;
|
|
6040
6974
|
exports.warn = warn;
|
|
6041
6975
|
exports.withVendorCSSClassPrefix = withVendorCSSClassPrefix_default;
|