@workos-inc/node 8.0.0-beta.3 → 8.0.0-beta.4
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/lib/cjs/audit-logs/audit-logs.d.cts +3 -2
- package/lib/cjs/client/index.cjs +42 -0
- package/lib/cjs/client/index.cjs.map +1 -0
- package/lib/cjs/client/index.d.cts +3 -0
- package/lib/cjs/client/sso.cjs +65 -0
- package/lib/cjs/client/sso.cjs.map +1 -0
- package/lib/cjs/client/sso.d.cts +2 -0
- package/lib/cjs/client/user-management.cjs +110 -0
- package/lib/cjs/client/user-management.cjs.map +1 -0
- package/lib/cjs/client/user-management.d.cts +1 -0
- package/lib/cjs/client/utils.cjs +49 -0
- package/lib/cjs/client/utils.cjs.map +1 -0
- package/lib/cjs/client/utils.d.cts +7 -0
- package/lib/cjs/common/decorators/public-method.cjs +48 -0
- package/lib/cjs/common/decorators/public-method.cjs.map +1 -0
- package/lib/cjs/common/decorators/public-method.d.cts +12 -0
- package/lib/cjs/common/interfaces/event.interface.cjs.map +1 -1
- package/lib/cjs/common/interfaces/event.interface.d.cts +19 -3
- package/lib/cjs/common/interfaces/index.d.cts +1 -1
- package/lib/cjs/common/interfaces/workos-options.interface.cjs.map +1 -1
- package/lib/cjs/common/interfaces/workos-options.interface.d.cts +1 -0
- package/lib/cjs/common/net/fetch-client.cjs +67 -36
- package/lib/cjs/common/net/fetch-client.cjs.map +1 -1
- package/lib/cjs/common/net/fetch-client.d.cts +5 -2
- package/lib/cjs/common/serializers/event.serializer.cjs +2 -0
- package/lib/cjs/common/serializers/event.serializer.cjs.map +1 -1
- package/lib/cjs/common/utils/fetch-and-deserialize.d.cts +3 -2
- package/lib/cjs/common/utils/pagination.cjs +2 -4
- package/lib/cjs/common/utils/pagination.cjs.map +1 -1
- package/lib/cjs/common/utils/runtime-info.cjs +73 -0
- package/lib/cjs/common/utils/runtime-info.cjs.map +1 -0
- package/lib/cjs/common/utils/runtime-info.d.cts +22 -0
- package/lib/cjs/directory-sync/directory-sync.d.cts +4 -3
- package/lib/cjs/events/events.d.cts +3 -2
- package/lib/cjs/fga/fga.d.cts +4 -3
- package/lib/cjs/fga/utils/fetch-and-deserialize-list.d.cts +3 -2
- package/lib/cjs/index.cjs +2 -0
- package/lib/cjs/index.cjs.map +1 -1
- package/lib/cjs/index.client.cjs +42 -0
- package/lib/cjs/index.client.cjs.map +1 -0
- package/lib/cjs/index.client.d.cts +3 -0
- package/lib/cjs/index.d.cts +3 -2
- package/lib/cjs/index.public.cjs +52 -0
- package/lib/cjs/index.public.cjs.map +1 -0
- package/lib/cjs/index.public.d.cts +36 -0
- package/lib/cjs/index.worker.d.cts +3 -2
- package/lib/cjs/mfa/mfa.d.cts +3 -2
- package/lib/cjs/organization-domains/organization-domains.d.cts +3 -2
- package/lib/cjs/organizations/interfaces/list-organization-feature-flags-options.interface.cjs.map +1 -1
- package/lib/cjs/organizations/interfaces/list-organization-feature-flags-options.interface.d.cts +3 -1
- package/lib/cjs/organizations/organizations.cjs +15 -5
- package/lib/cjs/organizations/organizations.cjs.map +1 -1
- package/lib/cjs/organizations/organizations.d.cts +4 -3
- package/lib/cjs/passwordless/passwordless.d.cts +3 -2
- package/lib/cjs/portal/portal.d.cts +3 -2
- package/lib/cjs/public/index.cjs +42 -0
- package/lib/cjs/public/index.cjs.map +1 -0
- package/lib/cjs/public/index.d.cts +2 -0
- package/lib/cjs/public/sso.cjs +65 -0
- package/lib/cjs/public/sso.cjs.map +1 -0
- package/lib/cjs/public/sso.d.cts +1 -0
- package/lib/cjs/public/user-management.cjs +110 -0
- package/lib/cjs/public/user-management.cjs.map +1 -0
- package/lib/cjs/public/user-management.d.cts +1 -0
- package/lib/cjs/public/utils.cjs +49 -0
- package/lib/cjs/public/utils.cjs.map +1 -0
- package/lib/cjs/public/utils.d.cts +7 -0
- package/lib/cjs/sso/interfaces/authorization-url-options.interface.cjs.map +1 -1
- package/lib/cjs/sso/interfaces/authorization-url-options.interface.d.cts +19 -4
- package/lib/cjs/sso/interfaces/connection-type.enum.cjs +1 -0
- package/lib/cjs/sso/interfaces/connection-type.enum.cjs.map +1 -1
- package/lib/cjs/sso/interfaces/connection-type.enum.d.cts +1 -0
- package/lib/cjs/sso/interfaces/index.d.cts +1 -0
- package/lib/cjs/sso/interfaces/profile-and-token.interface.cjs.map +1 -1
- package/lib/cjs/sso/interfaces/profile-and-token.interface.d.cts +3 -0
- package/lib/cjs/sso/serializers/index.d.cts +1 -0
- package/lib/cjs/sso/serializers/profile-and-token.serializer.cjs +3 -1
- package/lib/cjs/sso/serializers/profile-and-token.serializer.cjs.map +1 -1
- package/lib/cjs/sso/serializers/profile-and-token.serializer.d.cts +1 -0
- package/lib/cjs/sso/sso.cjs +15 -37
- package/lib/cjs/sso/sso.cjs.map +1 -1
- package/lib/cjs/sso/sso.d.cts +2 -1
- package/lib/cjs/sso-BkBnkcTC.d.cts +22 -0
- package/lib/cjs/sso-Cdnhezcz.d.cts +31 -0
- package/lib/cjs/sso-DwRz-nPM.d.cts +31 -0
- package/lib/cjs/user-management/interfaces/authenticate-with-session-cookie.interface.cjs.map +1 -1
- package/lib/cjs/user-management/interfaces/authenticate-with-session-cookie.interface.d.cts +2 -0
- package/lib/cjs/user-management/interfaces/authentication-response.interface.cjs.map +1 -1
- package/lib/cjs/user-management/interfaces/authentication-response.interface.d.cts +1 -1
- package/lib/cjs/user-management/interfaces/create-organization-membership-options.interface.cjs.map +1 -1
- package/lib/cjs/user-management/interfaces/create-organization-membership-options.interface.d.cts +2 -0
- package/lib/cjs/user-management/interfaces/identity.interface.cjs.map +1 -1
- package/lib/cjs/user-management/interfaces/identity.interface.d.cts +2 -2
- package/lib/cjs/user-management/interfaces/list-sessions-options.interface.cjs.map +1 -1
- package/lib/cjs/user-management/interfaces/organization-membership.interface.cjs.map +1 -1
- package/lib/cjs/user-management/interfaces/organization-membership.interface.d.cts +2 -0
- package/lib/cjs/user-management/interfaces/update-organization-membership-options.interface.cjs.map +1 -1
- package/lib/cjs/user-management/interfaces/update-organization-membership-options.interface.d.cts +2 -0
- package/lib/cjs/user-management/serializers/create-organization-membership-options.serializer.cjs +2 -1
- package/lib/cjs/user-management/serializers/create-organization-membership-options.serializer.cjs.map +1 -1
- package/lib/cjs/user-management/serializers/organization-membership.serializer.cjs +2 -1
- package/lib/cjs/user-management/serializers/organization-membership.serializer.cjs.map +1 -1
- package/lib/cjs/user-management/serializers/update-organization-membership-options.serializer.cjs +2 -1
- package/lib/cjs/user-management/serializers/update-organization-membership-options.serializer.cjs.map +1 -1
- package/lib/cjs/user-management/session.cjs +4 -0
- package/lib/cjs/user-management/session.cjs.map +1 -1
- package/lib/cjs/user-management/session.d.cts +2 -1
- package/lib/cjs/user-management/user-management.cjs +13 -81
- package/lib/cjs/user-management/user-management.cjs.map +1 -1
- package/lib/cjs/user-management/user-management.d.cts +3 -2
- package/lib/cjs/user-management-B-71OTAR.d.cts +401 -0
- package/lib/cjs/user-management-B38wNrIN.d.cts +68 -0
- package/lib/cjs/user-management-Dh73wyCr.d.cts +68 -0
- package/lib/cjs/vault/vault.d.cts +3 -2
- package/lib/cjs/widgets/interfaces/get-token.cjs.map +1 -1
- package/lib/cjs/widgets/interfaces/get-token.d.cts +5 -5
- package/lib/cjs/widgets/widgets.d.cts +3 -2
- package/lib/cjs/workos-BEHZtxw8.d.cts +401 -0
- package/lib/cjs/workos-Bt8QqzZV.d.cts +395 -0
- package/lib/cjs/workos-C6IZ2mAH.d.cts +402 -0
- package/lib/cjs/workos-C7eLbzyK.d.cts +398 -0
- package/lib/cjs/workos-C9Z7mAdD.d.cts +399 -0
- package/lib/cjs/workos-CUh2oD_o.d.cts +396 -0
- package/lib/cjs/workos-Cuegztvg.d.cts +397 -0
- package/lib/cjs/workos-DiEirbod.d.cts +397 -0
- package/lib/cjs/workos-jsQjZHfV.d.cts +395 -0
- package/lib/cjs/workos.cjs +2 -1
- package/lib/cjs/workos.cjs.map +1 -1
- package/lib/cjs/workos.d.cts +3 -2
- package/lib/common/interfaces/event.interface.d.ts +18 -2
- package/lib/common/interfaces/workos-options.interface.d.ts +1 -0
- package/lib/common/net/fetch-client.d.ts +6 -2
- package/lib/common/net/fetch-client.js +67 -31
- package/lib/common/net/fetch-client.spec.js +71 -0
- package/lib/common/serializers/event.serializer.js +2 -0
- package/lib/common/utils/pagination.js +1 -1
- package/lib/esm/audit-logs/audit-logs.d.ts +3 -2
- package/lib/esm/client/index.d.ts +3 -0
- package/lib/esm/client/index.js +7 -0
- package/lib/esm/client/index.js.map +1 -0
- package/lib/esm/client/sso.d.ts +2 -0
- package/lib/esm/client/sso.js +42 -0
- package/lib/esm/client/sso.js.map +1 -0
- package/lib/esm/client/user-management.d.ts +1 -0
- package/lib/esm/client/user-management.js +85 -0
- package/lib/esm/client/user-management.js.map +1 -0
- package/lib/esm/client/utils.d.ts +7 -0
- package/lib/esm/client/utils.js +16 -0
- package/lib/esm/client/utils.js.map +1 -0
- package/lib/esm/common/interfaces/event.interface.d.ts +19 -3
- package/lib/esm/common/interfaces/index.d.ts +1 -1
- package/lib/esm/common/interfaces/workos-options.interface.d.ts +1 -0
- package/lib/esm/common/net/fetch-client.d.ts +5 -2
- package/lib/esm/common/net/fetch-client.js +67 -36
- package/lib/esm/common/net/fetch-client.js.map +1 -1
- package/lib/esm/common/serializers/event.serializer.js +2 -0
- package/lib/esm/common/serializers/event.serializer.js.map +1 -1
- package/lib/esm/common/utils/fetch-and-deserialize.d.ts +3 -2
- package/lib/esm/common/utils/pagination.js +2 -4
- package/lib/esm/common/utils/pagination.js.map +1 -1
- package/lib/esm/directory-sync/directory-sync.d.ts +4 -3
- package/lib/esm/events/events.d.ts +3 -2
- package/lib/esm/fga/fga.d.ts +4 -3
- package/lib/esm/fga/utils/fetch-and-deserialize-list.d.ts +3 -2
- package/lib/esm/index.client.d.ts +3 -0
- package/lib/esm/index.client.js +7 -0
- package/lib/esm/index.client.js.map +1 -0
- package/lib/esm/index.d.ts +3 -2
- package/lib/esm/index.js +2 -0
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/index.worker.d.ts +3 -2
- package/lib/esm/mfa/mfa.d.ts +3 -2
- package/lib/esm/organization-domains/organization-domains.d.ts +3 -2
- package/lib/esm/organizations/interfaces/list-organization-feature-flags-options.interface.d.ts +3 -1
- package/lib/esm/organizations/organizations.d.ts +4 -3
- package/lib/esm/organizations/organizations.js +15 -5
- package/lib/esm/organizations/organizations.js.map +1 -1
- package/lib/esm/passwordless/passwordless.d.ts +3 -2
- package/lib/esm/portal/portal.d.ts +3 -2
- package/lib/esm/sso/interfaces/authorization-url-options.interface.d.ts +19 -4
- package/lib/esm/sso/interfaces/connection-type.enum.d.ts +1 -0
- package/lib/esm/sso/interfaces/connection-type.enum.js +1 -0
- package/lib/esm/sso/interfaces/connection-type.enum.js.map +1 -1
- package/lib/esm/sso/interfaces/index.d.ts +1 -0
- package/lib/esm/sso/interfaces/profile-and-token.interface.d.ts +3 -0
- package/lib/esm/sso/serializers/index.d.ts +1 -0
- package/lib/esm/sso/serializers/profile-and-token.serializer.d.ts +1 -0
- package/lib/esm/sso/serializers/profile-and-token.serializer.js +3 -1
- package/lib/esm/sso/serializers/profile-and-token.serializer.js.map +1 -1
- package/lib/esm/sso/sso.d.ts +2 -1
- package/lib/esm/sso/sso.js +5 -37
- package/lib/esm/sso/sso.js.map +1 -1
- package/lib/esm/sso-nFEQz_Js.d.ts +22 -0
- package/lib/esm/user-management/interfaces/authenticate-with-session-cookie.interface.d.ts +2 -0
- package/lib/esm/user-management/interfaces/authenticate-with-session-cookie.interface.js.map +1 -1
- package/lib/esm/user-management/interfaces/authentication-response.interface.d.ts +1 -1
- package/lib/esm/user-management/interfaces/create-organization-membership-options.interface.d.ts +2 -0
- package/lib/esm/user-management/interfaces/identity.interface.d.ts +2 -2
- package/lib/esm/user-management/interfaces/organization-membership.interface.d.ts +2 -0
- package/lib/esm/user-management/interfaces/update-organization-membership-options.interface.d.ts +2 -0
- package/lib/esm/user-management/serializers/create-organization-membership-options.serializer.js +2 -1
- package/lib/esm/user-management/serializers/create-organization-membership-options.serializer.js.map +1 -1
- package/lib/esm/user-management/serializers/organization-membership.serializer.js +2 -1
- package/lib/esm/user-management/serializers/organization-membership.serializer.js.map +1 -1
- package/lib/esm/user-management/serializers/update-organization-membership-options.serializer.js +2 -1
- package/lib/esm/user-management/serializers/update-organization-membership-options.serializer.js.map +1 -1
- package/lib/esm/user-management/session.d.ts +2 -1
- package/lib/esm/user-management/session.js +4 -0
- package/lib/esm/user-management/session.js.map +1 -1
- package/lib/esm/user-management/user-management.d.ts +3 -2
- package/lib/esm/user-management/user-management.js +13 -81
- package/lib/esm/user-management/user-management.js.map +1 -1
- package/lib/esm/user-management-B38wNrIN.d.ts +68 -0
- package/lib/esm/vault/vault.d.ts +3 -2
- package/lib/esm/widgets/interfaces/get-token.d.ts +5 -5
- package/lib/esm/widgets/interfaces/get-token.js.map +1 -1
- package/lib/esm/widgets/widgets.d.ts +3 -2
- package/lib/esm/{workos-DGRMJ65Z.d.ts → workos-EX3jNkYH.d.ts} +5 -7
- package/lib/esm/workos.d.ts +3 -2
- package/lib/esm/workos.js +2 -1
- package/lib/esm/workos.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/organizations/interfaces/list-organization-feature-flags-options.interface.d.ts +2 -1
- package/lib/organizations/organizations.d.ts +1 -2
- package/lib/organizations/organizations.js +2 -4
- package/lib/organizations/organizations.spec.js +46 -1
- package/lib/sso/interfaces/authorization-url-options.interface.d.ts +2 -0
- package/lib/sso/interfaces/profile-and-token.interface.d.ts +3 -0
- package/lib/sso/serializers/profile-and-token.serializer.js +2 -0
- package/lib/sso/sso.d.ts +1 -1
- package/lib/sso/sso.js +14 -10
- package/lib/sso/sso.spec.js +131 -0
- package/lib/user-management/interfaces/authenticate-with-session-cookie.interface.d.ts +2 -0
- package/lib/user-management/interfaces/create-organization-membership-options.interface.d.ts +2 -0
- package/lib/user-management/interfaces/organization-membership.interface.d.ts +2 -0
- package/lib/user-management/interfaces/update-organization-membership-options.interface.d.ts +2 -0
- package/lib/user-management/serializers/create-organization-membership-options.serializer.js +1 -0
- package/lib/user-management/serializers/organization-membership.serializer.js +1 -11
- package/lib/user-management/serializers/update-organization-membership-options.serializer.js +1 -0
- package/lib/user-management/session.js +4 -2
- package/lib/user-management/session.spec.js +4 -2
- package/lib/user-management/user-management.js +2 -1
- package/lib/user-management/user-management.spec.js +33 -0
- package/lib/widgets/interfaces/get-token.d.ts +5 -5
- package/lib/workos.js +2 -2
- package/package.json +10 -5
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
var user_management_exports = {};
|
|
21
|
+
__export(user_management_exports, {
|
|
22
|
+
getAuthorizationUrl: () => getAuthorizationUrl,
|
|
23
|
+
getJwksUrl: () => getJwksUrl,
|
|
24
|
+
getLogoutUrl: () => getLogoutUrl
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(user_management_exports);
|
|
27
|
+
var import_utils = require('./utils.cjs');
|
|
28
|
+
function getAuthorizationUrl(options) {
|
|
29
|
+
const {
|
|
30
|
+
connectionId,
|
|
31
|
+
codeChallenge,
|
|
32
|
+
codeChallengeMethod,
|
|
33
|
+
context,
|
|
34
|
+
clientId,
|
|
35
|
+
domainHint,
|
|
36
|
+
loginHint,
|
|
37
|
+
organizationId,
|
|
38
|
+
provider,
|
|
39
|
+
providerQueryParams,
|
|
40
|
+
providerScopes,
|
|
41
|
+
prompt,
|
|
42
|
+
redirectUri,
|
|
43
|
+
state,
|
|
44
|
+
screenHint,
|
|
45
|
+
baseURL = "https://api.workos.com"
|
|
46
|
+
} = options;
|
|
47
|
+
if (!provider && !connectionId && !organizationId) {
|
|
48
|
+
throw new TypeError(
|
|
49
|
+
`Incomplete arguments. Need to specify either a 'connectionId', 'organizationId', or 'provider'.`
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
if (provider !== "authkit" && screenHint) {
|
|
53
|
+
throw new TypeError(
|
|
54
|
+
`'screenHint' is only supported for 'authkit' provider`
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
if (context) {
|
|
58
|
+
console.warn(
|
|
59
|
+
`WorkOS: \`context\` is deprecated. We previously required initiate login endpoints to return the
|
|
60
|
+
\`context\` query parameter when getting the authorization URL. This is no longer necessary.`
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
const query = (0, import_utils.toQueryString)({
|
|
64
|
+
connection_id: connectionId,
|
|
65
|
+
code_challenge: codeChallenge,
|
|
66
|
+
code_challenge_method: codeChallengeMethod,
|
|
67
|
+
context,
|
|
68
|
+
organization_id: organizationId,
|
|
69
|
+
domain_hint: domainHint,
|
|
70
|
+
login_hint: loginHint,
|
|
71
|
+
provider,
|
|
72
|
+
provider_query_params: providerQueryParams,
|
|
73
|
+
provider_scopes: providerScopes,
|
|
74
|
+
prompt,
|
|
75
|
+
client_id: clientId,
|
|
76
|
+
redirect_uri: redirectUri,
|
|
77
|
+
response_type: "code",
|
|
78
|
+
state,
|
|
79
|
+
screen_hint: screenHint
|
|
80
|
+
});
|
|
81
|
+
return `${baseURL}/user_management/authorize?${query}`;
|
|
82
|
+
}
|
|
83
|
+
__name(getAuthorizationUrl, "getAuthorizationUrl");
|
|
84
|
+
function getLogoutUrl(options) {
|
|
85
|
+
const { sessionId, returnTo, baseURL = "https://api.workos.com" } = options;
|
|
86
|
+
if (!sessionId) {
|
|
87
|
+
throw new TypeError(`Incomplete arguments. Need to specify 'sessionId'.`);
|
|
88
|
+
}
|
|
89
|
+
const url = new URL("/user_management/sessions/logout", baseURL);
|
|
90
|
+
url.searchParams.set("session_id", sessionId);
|
|
91
|
+
if (returnTo) {
|
|
92
|
+
url.searchParams.set("return_to", returnTo);
|
|
93
|
+
}
|
|
94
|
+
return url.toString();
|
|
95
|
+
}
|
|
96
|
+
__name(getLogoutUrl, "getLogoutUrl");
|
|
97
|
+
function getJwksUrl(clientId, baseURL = "https://api.workos.com") {
|
|
98
|
+
if (!clientId) {
|
|
99
|
+
throw TypeError("clientId must be a valid clientId");
|
|
100
|
+
}
|
|
101
|
+
return `${baseURL}/sso/jwks/${clientId}`;
|
|
102
|
+
}
|
|
103
|
+
__name(getJwksUrl, "getJwksUrl");
|
|
104
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
105
|
+
0 && (module.exports = {
|
|
106
|
+
getAuthorizationUrl,
|
|
107
|
+
getJwksUrl,
|
|
108
|
+
getLogoutUrl
|
|
109
|
+
});
|
|
110
|
+
//# sourceMappingURL=user-management.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/public/user-management.ts"],"sourcesContent":["import { toQueryString } from './utils';\n\n// Re-export necessary interfaces for public use\nexport interface AuthorizationURLOptions {\n clientId: string;\n codeChallenge?: string;\n codeChallengeMethod?: 'S256';\n connectionId?: string;\n /**\n * @deprecated We previously required initiate login endpoints to return the `context`\n * query parameter when getting the authorization URL. This is no longer necessary.\n */\n context?: string;\n organizationId?: string;\n domainHint?: string;\n loginHint?: string;\n provider?: string;\n providerQueryParams?: Record<string, string | boolean | number>;\n providerScopes?: string[];\n prompt?: string;\n redirectUri: string;\n state?: string;\n screenHint?: 'sign-up' | 'sign-in';\n}\n\nexport interface LogoutURLOptions {\n sessionId: string;\n returnTo?: string;\n}\n\n/**\n * Generates the authorization URL for user authentication.\n * This method is safe to use in browser environments as it doesn't require an API key.\n *\n * @param options - Authorization URL options\n * @returns The authorization URL as a string\n * @throws TypeError if required arguments are missing\n */\nexport function getAuthorizationUrl(\n options: AuthorizationURLOptions & { baseURL?: string },\n): string {\n const {\n connectionId,\n codeChallenge,\n codeChallengeMethod,\n context,\n clientId,\n domainHint,\n loginHint,\n organizationId,\n provider,\n providerQueryParams,\n providerScopes,\n prompt,\n redirectUri,\n state,\n screenHint,\n baseURL = 'https://api.workos.com',\n } = options;\n\n if (!provider && !connectionId && !organizationId) {\n throw new TypeError(\n `Incomplete arguments. Need to specify either a 'connectionId', 'organizationId', or 'provider'.`,\n );\n }\n\n if (provider !== 'authkit' && screenHint) {\n throw new TypeError(\n `'screenHint' is only supported for 'authkit' provider`,\n );\n }\n\n if (context) {\n console.warn(\n `WorkOS: \\`context\\` is deprecated. We previously required initiate login endpoints to return the\n\\`context\\` query parameter when getting the authorization URL. This is no longer necessary.`,\n );\n }\n\n const query = toQueryString({\n connection_id: connectionId,\n code_challenge: codeChallenge,\n code_challenge_method: codeChallengeMethod,\n context,\n organization_id: organizationId,\n domain_hint: domainHint,\n login_hint: loginHint,\n provider,\n provider_query_params: providerQueryParams,\n provider_scopes: providerScopes,\n prompt,\n client_id: clientId,\n redirect_uri: redirectUri,\n response_type: 'code',\n state,\n screen_hint: screenHint,\n });\n\n return `${baseURL}/user_management/authorize?${query}`;\n}\n\n/**\n * Generates the logout URL for ending a user session.\n * This method is safe to use in browser environments as it doesn't require an API key.\n *\n * @param options - Logout URL options\n * @returns The logout URL as a string\n * @throws TypeError if sessionId is not provided\n */\nexport function getLogoutUrl(\n options: LogoutURLOptions & { baseURL?: string },\n): string {\n const { sessionId, returnTo, baseURL = 'https://api.workos.com' } = options;\n\n if (!sessionId) {\n throw new TypeError(`Incomplete arguments. Need to specify 'sessionId'.`);\n }\n\n const url = new URL('/user_management/sessions/logout', baseURL);\n\n url.searchParams.set('session_id', sessionId);\n if (returnTo) {\n url.searchParams.set('return_to', returnTo);\n }\n\n return url.toString();\n}\n\n/**\n * Gets the JWKS (JSON Web Key Set) URL for a given client ID.\n * This method is safe to use in browser environments as it doesn't require an API key.\n *\n * @param clientId - The WorkOS client ID\n * @param baseURL - Optional base URL for the API (defaults to https://api.workos.com)\n * @returns The JWKS URL as a string\n * @throws TypeError if clientId is not provided\n */\nexport function getJwksUrl(\n clientId: string,\n baseURL = 'https://api.workos.com',\n): string {\n if (!clientId) {\n throw TypeError('clientId must be a valid clientId');\n }\n\n return `${baseURL}/sso/jwks/${clientId}`;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA8B;AAsCvB,SAAS,oBACd,SACQ;AACR,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,EACZ,IAAI;AAEJ,MAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,gBAAgB;AACjD,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,MAAI,aAAa,aAAa,YAAY;AACxC,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,MAAI,SAAS;AACX,YAAQ;AAAA,MACN;AAAA;AAAA,IAEF;AAAA,EACF;AAEA,QAAM,YAAQ,4BAAc;AAAA,IAC1B,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,uBAAuB;AAAA,IACvB;AAAA,IACA,iBAAiB;AAAA,IACjB,aAAa;AAAA,IACb,YAAY;AAAA,IACZ;AAAA,IACA,uBAAuB;AAAA,IACvB,iBAAiB;AAAA,IACjB;AAAA,IACA,WAAW;AAAA,IACX,cAAc;AAAA,IACd,eAAe;AAAA,IACf;AAAA,IACA,aAAa;AAAA,EACf,CAAC;AAED,SAAO,GAAG,OAAO,8BAA8B,KAAK;AACtD;AA7DgB;AAuET,SAAS,aACd,SACQ;AACR,QAAM,EAAE,WAAW,UAAU,UAAU,yBAAyB,IAAI;AAEpE,MAAI,CAAC,WAAW;AACd,UAAM,IAAI,UAAU,oDAAoD;AAAA,EAC1E;AAEA,QAAM,MAAM,IAAI,IAAI,oCAAoC,OAAO;AAE/D,MAAI,aAAa,IAAI,cAAc,SAAS;AAC5C,MAAI,UAAU;AACZ,QAAI,aAAa,IAAI,aAAa,QAAQ;AAAA,EAC5C;AAEA,SAAO,IAAI,SAAS;AACtB;AAjBgB;AA4BT,SAAS,WACd,UACA,UAAU,0BACF;AACR,MAAI,CAAC,UAAU;AACb,UAAM,UAAU,mCAAmC;AAAA,EACrD;AAEA,SAAO,GAAG,OAAO,aAAa,QAAQ;AACxC;AATgB;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { A as AuthorizationURLOptions, L as LogoutURLOptions, g as getAuthorizationUrl, b as getJwksUrl, a as getLogoutUrl } from '../user-management-Dh73wyCr.cjs';
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
9
|
+
var __export = (target, all) => {
|
|
10
|
+
for (var name in all)
|
|
11
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from))
|
|
16
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
17
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
|
+
}
|
|
19
|
+
return to;
|
|
20
|
+
};
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
+
mod
|
|
28
|
+
));
|
|
29
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
+
var utils_exports = {};
|
|
31
|
+
__export(utils_exports, {
|
|
32
|
+
toQueryString: () => toQueryString
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(utils_exports);
|
|
35
|
+
var import_qs = __toESM(require("qs"), 1);
|
|
36
|
+
const toQueryString = /* @__PURE__ */ __name((options) => {
|
|
37
|
+
return import_qs.default.stringify(options, {
|
|
38
|
+
arrayFormat: "repeat",
|
|
39
|
+
// sorts the keys alphabetically to maintain backwards compatibility
|
|
40
|
+
sort: /* @__PURE__ */ __name((a, b) => a.localeCompare(b), "sort"),
|
|
41
|
+
// encodes space as + instead of %20 to maintain backwards compatibility
|
|
42
|
+
format: "RFC1738"
|
|
43
|
+
});
|
|
44
|
+
}, "toQueryString");
|
|
45
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
46
|
+
0 && (module.exports = {
|
|
47
|
+
toQueryString
|
|
48
|
+
});
|
|
49
|
+
//# sourceMappingURL=utils.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/public/utils.ts"],"sourcesContent":["import qs from 'qs';\n\n/**\n * Converts an options object to a query string using qs library.\n * Maintains backwards compatibility with existing URL formatting.\n */\nexport const toQueryString = (\n options: Record<\n string,\n string | string[] | Record<string, string | boolean | number> | undefined\n >,\n): string => {\n return qs.stringify(options, {\n arrayFormat: 'repeat',\n // sorts the keys alphabetically to maintain backwards compatibility\n sort: (a, b) => a.localeCompare(b),\n // encodes space as + instead of %20 to maintain backwards compatibility\n format: 'RFC1738',\n });\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAe;AAMR,MAAM,gBAAgB,wBAC3B,YAIW;AACX,SAAO,UAAAA,QAAG,UAAU,SAAS;AAAA,IAC3B,aAAa;AAAA;AAAA,IAEb,MAAM,wBAAC,GAAG,MAAM,EAAE,cAAc,CAAC,GAA3B;AAAA;AAAA,IAEN,QAAQ;AAAA,EACV,CAAC;AACH,GAb6B;","names":["qs"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converts an options object to a query string using qs library.
|
|
3
|
+
* Maintains backwards compatibility with existing URL formatting.
|
|
4
|
+
*/
|
|
5
|
+
declare const toQueryString: (options: Record<string, string | string[] | Record<string, string | boolean | number> | undefined>) => string;
|
|
6
|
+
|
|
7
|
+
export { toQueryString };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/sso/interfaces/authorization-url-options.interface.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../../src/sso/interfaces/authorization-url-options.interface.ts"],"sourcesContent":["interface SSOAuthorizationURLBase {\n clientId: string;\n domainHint?: string;\n loginHint?: string;\n providerQueryParams?: Record<string, string | boolean | number>;\n providerScopes?: string[];\n redirectUri: string;\n state?: string;\n}\n\ninterface SSOWithConnection extends SSOAuthorizationURLBase {\n connection: string;\n organization?: never;\n provider?: never;\n}\n\ninterface SSOWithOrganization extends SSOAuthorizationURLBase {\n organization: string;\n connection?: never;\n provider?: never;\n}\n\ninterface SSOWithProvider extends SSOAuthorizationURLBase {\n provider: string;\n connection?: never;\n organization?: never;\n}\n\nexport type SSOAuthorizationURLOptions =\n | SSOWithConnection\n | SSOWithOrganization\n | SSOWithProvider;\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
@@ -1,12 +1,27 @@
|
|
|
1
|
-
interface
|
|
1
|
+
interface SSOAuthorizationURLBase {
|
|
2
2
|
clientId: string;
|
|
3
|
-
connection?: string;
|
|
4
|
-
organization?: string;
|
|
5
3
|
domainHint?: string;
|
|
6
4
|
loginHint?: string;
|
|
7
|
-
|
|
5
|
+
providerQueryParams?: Record<string, string | boolean | number>;
|
|
6
|
+
providerScopes?: string[];
|
|
8
7
|
redirectUri: string;
|
|
9
8
|
state?: string;
|
|
10
9
|
}
|
|
10
|
+
interface SSOWithConnection extends SSOAuthorizationURLBase {
|
|
11
|
+
connection: string;
|
|
12
|
+
organization?: never;
|
|
13
|
+
provider?: never;
|
|
14
|
+
}
|
|
15
|
+
interface SSOWithOrganization extends SSOAuthorizationURLBase {
|
|
16
|
+
organization: string;
|
|
17
|
+
connection?: never;
|
|
18
|
+
provider?: never;
|
|
19
|
+
}
|
|
20
|
+
interface SSOWithProvider extends SSOAuthorizationURLBase {
|
|
21
|
+
provider: string;
|
|
22
|
+
connection?: never;
|
|
23
|
+
organization?: never;
|
|
24
|
+
}
|
|
25
|
+
type SSOAuthorizationURLOptions = SSOWithConnection | SSOWithOrganization | SSOWithProvider;
|
|
11
26
|
|
|
12
27
|
export type { SSOAuthorizationURLOptions };
|
|
@@ -51,6 +51,7 @@ var ConnectionType = /* @__PURE__ */ ((ConnectionType2) => {
|
|
|
51
51
|
ConnectionType2["PingFederateSAML"] = "PingFederateSAML";
|
|
52
52
|
ConnectionType2["PingOneSAML"] = "PingOneSAML";
|
|
53
53
|
ConnectionType2["RipplingSAML"] = "RipplingSAML";
|
|
54
|
+
ConnectionType2["SalesforceOAuth"] = "SalesforceOAuth";
|
|
54
55
|
ConnectionType2["SalesforceSAML"] = "SalesforceSAML";
|
|
55
56
|
ConnectionType2["ShibbolethGenericSAML"] = "ShibbolethGenericSAML";
|
|
56
57
|
ConnectionType2["ShibbolethSAML"] = "ShibbolethSAML";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/sso/interfaces/connection-type.enum.ts"],"sourcesContent":["export enum ConnectionType {\n ADFSSAML = 'ADFSSAML',\n AdpOidc = 'AdpOidc',\n AppleOAuth = 'AppleOAuth',\n Auth0SAML = 'Auth0SAML',\n AzureSAML = 'AzureSAML',\n CasSAML = 'CasSAML',\n ClassLinkSAML = 'ClassLinkSAML',\n CloudflareSAML = 'CloudflareSAML',\n CyberArkSAML = 'CyberArkSAML',\n DuoSAML = 'DuoSAML',\n GenericOIDC = 'GenericOIDC',\n GenericSAML = 'GenericSAML',\n GitHubOAuth = 'GitHubOAuth',\n GoogleOAuth = 'GoogleOAuth',\n GoogleSAML = 'GoogleSAML',\n JumpCloudSAML = 'JumpCloudSAML',\n KeycloakSAML = 'KeycloakSAML',\n LastPassSAML = 'LastPassSAML',\n LoginGovOidc = 'LoginGovOidc',\n MagicLink = 'MagicLink',\n MicrosoftOAuth = 'MicrosoftOAuth',\n MiniOrangeSAML = 'MiniOrangeSAML',\n NetIqSAML = 'NetIqSAML',\n OktaSAML = 'OktaSAML',\n OneLoginSAML = 'OneLoginSAML',\n OracleSAML = 'OracleSAML',\n PingFederateSAML = 'PingFederateSAML',\n PingOneSAML = 'PingOneSAML',\n RipplingSAML = 'RipplingSAML',\n SalesforceSAML = 'SalesforceSAML',\n ShibbolethGenericSAML = 'ShibbolethGenericSAML',\n ShibbolethSAML = 'ShibbolethSAML',\n SimpleSamlPhpSAML = 'SimpleSamlPhpSAML',\n VMwareSAML = 'VMwareSAML',\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,IAAK,iBAAL,kBAAKA,oBAAL;AACL,EAAAA,gBAAA,cAAW;AACX,EAAAA,gBAAA,aAAU;AACV,EAAAA,gBAAA,gBAAa;AACb,EAAAA,gBAAA,eAAY;AACZ,EAAAA,gBAAA,eAAY;AACZ,EAAAA,gBAAA,aAAU;AACV,EAAAA,gBAAA,mBAAgB;AAChB,EAAAA,gBAAA,oBAAiB;AACjB,EAAAA,gBAAA,kBAAe;AACf,EAAAA,gBAAA,aAAU;AACV,EAAAA,gBAAA,iBAAc;AACd,EAAAA,gBAAA,iBAAc;AACd,EAAAA,gBAAA,iBAAc;AACd,EAAAA,gBAAA,iBAAc;AACd,EAAAA,gBAAA,gBAAa;AACb,EAAAA,gBAAA,mBAAgB;AAChB,EAAAA,gBAAA,kBAAe;AACf,EAAAA,gBAAA,kBAAe;AACf,EAAAA,gBAAA,kBAAe;AACf,EAAAA,gBAAA,eAAY;AACZ,EAAAA,gBAAA,oBAAiB;AACjB,EAAAA,gBAAA,oBAAiB;AACjB,EAAAA,gBAAA,eAAY;AACZ,EAAAA,gBAAA,cAAW;AACX,EAAAA,gBAAA,kBAAe;AACf,EAAAA,gBAAA,gBAAa;AACb,EAAAA,gBAAA,sBAAmB;AACnB,EAAAA,gBAAA,iBAAc;AACd,EAAAA,gBAAA,kBAAe;AACf,EAAAA,gBAAA,oBAAiB;AACjB,EAAAA,gBAAA,2BAAwB;AACxB,EAAAA,gBAAA,oBAAiB;AACjB,EAAAA,gBAAA,uBAAoB;AACpB,EAAAA,gBAAA,gBAAa;
|
|
1
|
+
{"version":3,"sources":["../../../../src/sso/interfaces/connection-type.enum.ts"],"sourcesContent":["export enum ConnectionType {\n ADFSSAML = 'ADFSSAML',\n AdpOidc = 'AdpOidc',\n AppleOAuth = 'AppleOAuth',\n Auth0SAML = 'Auth0SAML',\n AzureSAML = 'AzureSAML',\n CasSAML = 'CasSAML',\n ClassLinkSAML = 'ClassLinkSAML',\n CloudflareSAML = 'CloudflareSAML',\n CyberArkSAML = 'CyberArkSAML',\n DuoSAML = 'DuoSAML',\n GenericOIDC = 'GenericOIDC',\n GenericSAML = 'GenericSAML',\n GitHubOAuth = 'GitHubOAuth',\n GoogleOAuth = 'GoogleOAuth',\n GoogleSAML = 'GoogleSAML',\n JumpCloudSAML = 'JumpCloudSAML',\n KeycloakSAML = 'KeycloakSAML',\n LastPassSAML = 'LastPassSAML',\n LoginGovOidc = 'LoginGovOidc',\n MagicLink = 'MagicLink',\n MicrosoftOAuth = 'MicrosoftOAuth',\n MiniOrangeSAML = 'MiniOrangeSAML',\n NetIqSAML = 'NetIqSAML',\n OktaSAML = 'OktaSAML',\n OneLoginSAML = 'OneLoginSAML',\n OracleSAML = 'OracleSAML',\n PingFederateSAML = 'PingFederateSAML',\n PingOneSAML = 'PingOneSAML',\n RipplingSAML = 'RipplingSAML',\n SalesforceOAuth = 'SalesforceOAuth',\n SalesforceSAML = 'SalesforceSAML',\n ShibbolethGenericSAML = 'ShibbolethGenericSAML',\n ShibbolethSAML = 'ShibbolethSAML',\n SimpleSamlPhpSAML = 'SimpleSamlPhpSAML',\n VMwareSAML = 'VMwareSAML',\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,IAAK,iBAAL,kBAAKA,oBAAL;AACL,EAAAA,gBAAA,cAAW;AACX,EAAAA,gBAAA,aAAU;AACV,EAAAA,gBAAA,gBAAa;AACb,EAAAA,gBAAA,eAAY;AACZ,EAAAA,gBAAA,eAAY;AACZ,EAAAA,gBAAA,aAAU;AACV,EAAAA,gBAAA,mBAAgB;AAChB,EAAAA,gBAAA,oBAAiB;AACjB,EAAAA,gBAAA,kBAAe;AACf,EAAAA,gBAAA,aAAU;AACV,EAAAA,gBAAA,iBAAc;AACd,EAAAA,gBAAA,iBAAc;AACd,EAAAA,gBAAA,iBAAc;AACd,EAAAA,gBAAA,iBAAc;AACd,EAAAA,gBAAA,gBAAa;AACb,EAAAA,gBAAA,mBAAgB;AAChB,EAAAA,gBAAA,kBAAe;AACf,EAAAA,gBAAA,kBAAe;AACf,EAAAA,gBAAA,kBAAe;AACf,EAAAA,gBAAA,eAAY;AACZ,EAAAA,gBAAA,oBAAiB;AACjB,EAAAA,gBAAA,oBAAiB;AACjB,EAAAA,gBAAA,eAAY;AACZ,EAAAA,gBAAA,cAAW;AACX,EAAAA,gBAAA,kBAAe;AACf,EAAAA,gBAAA,gBAAa;AACb,EAAAA,gBAAA,sBAAmB;AACnB,EAAAA,gBAAA,iBAAc;AACd,EAAAA,gBAAA,kBAAe;AACf,EAAAA,gBAAA,qBAAkB;AAClB,EAAAA,gBAAA,oBAAiB;AACjB,EAAAA,gBAAA,2BAAwB;AACxB,EAAAA,gBAAA,oBAAiB;AACjB,EAAAA,gBAAA,uBAAoB;AACpB,EAAAA,gBAAA,gBAAa;AAnCH,SAAAA;AAAA,GAAA;","names":["ConnectionType"]}
|
|
@@ -28,6 +28,7 @@ declare enum ConnectionType {
|
|
|
28
28
|
PingFederateSAML = "PingFederateSAML",
|
|
29
29
|
PingOneSAML = "PingOneSAML",
|
|
30
30
|
RipplingSAML = "RipplingSAML",
|
|
31
|
+
SalesforceOAuth = "SalesforceOAuth",
|
|
31
32
|
SalesforceSAML = "SalesforceSAML",
|
|
32
33
|
ShibbolethGenericSAML = "ShibbolethGenericSAML",
|
|
33
34
|
ShibbolethSAML = "ShibbolethSAML",
|
|
@@ -8,4 +8,5 @@ export { ProfileAndToken, ProfileAndTokenResponse } from './profile-and-token.in
|
|
|
8
8
|
export { Profile, ProfileResponse } from './profile.interface.cjs';
|
|
9
9
|
import '../../common/interfaces/pagination-options.interface.cjs';
|
|
10
10
|
import '../../common/interfaces/unknown-record.interface.cjs';
|
|
11
|
+
import '../../user-management/interfaces/oauth-tokens.interface.cjs';
|
|
11
12
|
import '../../roles/interfaces/role.interface.cjs';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/sso/interfaces/profile-and-token.interface.ts"],"sourcesContent":["import { UnknownRecord } from '../../common/interfaces/unknown-record.interface';\nimport { Profile, ProfileResponse } from './profile.interface';\n\nexport interface ProfileAndToken<CustomAttributesType extends UnknownRecord> {\n accessToken: string;\n profile: Profile<CustomAttributesType>;\n}\n\nexport interface ProfileAndTokenResponse<\n CustomAttributesType extends UnknownRecord,\n> {\n access_token: string;\n profile: ProfileResponse<CustomAttributesType>;\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/sso/interfaces/profile-and-token.interface.ts"],"sourcesContent":["import { UnknownRecord } from '../../common/interfaces/unknown-record.interface';\nimport {\n OauthTokens,\n OauthTokensResponse,\n} from '../../user-management/interfaces/oauth-tokens.interface';\nimport { Profile, ProfileResponse } from './profile.interface';\n\nexport interface ProfileAndToken<CustomAttributesType extends UnknownRecord> {\n accessToken: string;\n profile: Profile<CustomAttributesType>;\n oauthTokens?: OauthTokens;\n}\n\nexport interface ProfileAndTokenResponse<\n CustomAttributesType extends UnknownRecord,\n> {\n access_token: string;\n profile: ProfileResponse<CustomAttributesType>;\n oauth_tokens?: OauthTokensResponse;\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { UnknownRecord } from '../../common/interfaces/unknown-record.interface.cjs';
|
|
2
|
+
import { OauthTokens, OauthTokensResponse } from '../../user-management/interfaces/oauth-tokens.interface.cjs';
|
|
2
3
|
import { Profile, ProfileResponse } from './profile.interface.cjs';
|
|
3
4
|
import '../../roles/interfaces/role.interface.cjs';
|
|
4
5
|
import './connection-type.enum.cjs';
|
|
@@ -6,10 +7,12 @@ import './connection-type.enum.cjs';
|
|
|
6
7
|
interface ProfileAndToken<CustomAttributesType extends UnknownRecord> {
|
|
7
8
|
accessToken: string;
|
|
8
9
|
profile: Profile<CustomAttributesType>;
|
|
10
|
+
oauthTokens?: OauthTokens;
|
|
9
11
|
}
|
|
10
12
|
interface ProfileAndTokenResponse<CustomAttributesType extends UnknownRecord> {
|
|
11
13
|
access_token: string;
|
|
12
14
|
profile: ProfileResponse<CustomAttributesType>;
|
|
15
|
+
oauth_tokens?: OauthTokensResponse;
|
|
13
16
|
}
|
|
14
17
|
|
|
15
18
|
export type { ProfileAndToken, ProfileAndTokenResponse };
|
|
@@ -8,5 +8,6 @@ import '../interfaces/list-connections-options.interface.cjs';
|
|
|
8
8
|
import '../../common/interfaces/pagination-options.interface.cjs';
|
|
9
9
|
import '../../common/interfaces/unknown-record.interface.cjs';
|
|
10
10
|
import '../interfaces/profile-and-token.interface.cjs';
|
|
11
|
+
import '../../user-management/interfaces/oauth-tokens.interface.cjs';
|
|
11
12
|
import '../interfaces/profile.interface.cjs';
|
|
12
13
|
import '../../roles/interfaces/role.interface.cjs';
|
|
@@ -22,10 +22,12 @@ __export(profile_and_token_serializer_exports, {
|
|
|
22
22
|
deserializeProfileAndToken: () => deserializeProfileAndToken
|
|
23
23
|
});
|
|
24
24
|
module.exports = __toCommonJS(profile_and_token_serializer_exports);
|
|
25
|
+
var import_oauth_tokens = require('../../user-management/serializers/oauth-tokens.serializer.cjs');
|
|
25
26
|
var import_profile = require('./profile.serializer.cjs');
|
|
26
27
|
const deserializeProfileAndToken = /* @__PURE__ */ __name((profileAndToken) => ({
|
|
27
28
|
accessToken: profileAndToken.access_token,
|
|
28
|
-
profile: (0, import_profile.deserializeProfile)(profileAndToken.profile)
|
|
29
|
+
profile: (0, import_profile.deserializeProfile)(profileAndToken.profile),
|
|
30
|
+
oauthTokens: (0, import_oauth_tokens.deserializeOauthTokens)(profileAndToken.oauth_tokens)
|
|
29
31
|
}), "deserializeProfileAndToken");
|
|
30
32
|
// Annotate the CommonJS export names for ESM import in node:
|
|
31
33
|
0 && (module.exports = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/sso/serializers/profile-and-token.serializer.ts"],"sourcesContent":["import { UnknownRecord } from '../../common/interfaces/unknown-record.interface';\nimport { ProfileAndToken, ProfileAndTokenResponse } from '../interfaces';\nimport { deserializeProfile } from './profile.serializer';\n\nexport const deserializeProfileAndToken = <\n CustomAttributesType extends UnknownRecord,\n>(\n profileAndToken: ProfileAndTokenResponse<CustomAttributesType>,\n): ProfileAndToken<CustomAttributesType> => ({\n accessToken: profileAndToken.access_token,\n profile: deserializeProfile(profileAndToken.profile),\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
1
|
+
{"version":3,"sources":["../../../../src/sso/serializers/profile-and-token.serializer.ts"],"sourcesContent":["import { UnknownRecord } from '../../common/interfaces/unknown-record.interface';\nimport { deserializeOauthTokens } from '../../user-management/serializers/oauth-tokens.serializer';\nimport { ProfileAndToken, ProfileAndTokenResponse } from '../interfaces';\nimport { deserializeProfile } from './profile.serializer';\n\nexport const deserializeProfileAndToken = <\n CustomAttributesType extends UnknownRecord,\n>(\n profileAndToken: ProfileAndTokenResponse<CustomAttributesType>,\n): ProfileAndToken<CustomAttributesType> => ({\n accessToken: profileAndToken.access_token,\n profile: deserializeProfile(profileAndToken.profile),\n oauthTokens: deserializeOauthTokens(profileAndToken.oauth_tokens),\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,0BAAuC;AAEvC,qBAAmC;AAE5B,MAAM,6BAA6B,wBAGxC,qBAC2C;AAAA,EAC3C,aAAa,gBAAgB;AAAA,EAC7B,aAAS,mCAAmB,gBAAgB,OAAO;AAAA,EACnD,iBAAa,4CAAuB,gBAAgB,YAAY;AAClE,IAR0C;","names":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { UnknownRecord } from '../../common/interfaces/unknown-record.interface.cjs';
|
|
2
2
|
import { ProfileAndTokenResponse, ProfileAndToken } from '../interfaces/profile-and-token.interface.cjs';
|
|
3
|
+
import '../../user-management/interfaces/oauth-tokens.interface.cjs';
|
|
3
4
|
import '../interfaces/profile.interface.cjs';
|
|
4
5
|
import '../../roles/interfaces/role.interface.cjs';
|
|
5
6
|
import '../interfaces/connection-type.enum.cjs';
|
package/lib/cjs/sso/sso.cjs
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
2
3
|
var __defProp = Object.defineProperty;
|
|
3
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
5
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
8
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
9
|
var __export = (target, all) => {
|
|
@@ -16,26 +18,24 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
18
|
}
|
|
17
19
|
return to;
|
|
18
20
|
};
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
+
mod
|
|
28
|
+
));
|
|
19
29
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
30
|
var sso_exports = {};
|
|
21
31
|
__export(sso_exports, {
|
|
22
32
|
SSO: () => SSO
|
|
23
33
|
});
|
|
24
34
|
module.exports = __toCommonJS(sso_exports);
|
|
35
|
+
var clientSSO = __toESM(require('../client/sso.cjs'), 1);
|
|
25
36
|
var import_fetch_and_deserialize = require('../common/utils/fetch-and-deserialize.cjs');
|
|
26
37
|
var import_pagination = require('../common/utils/pagination.cjs');
|
|
27
38
|
var import_serializers = require('./serializers/index.cjs');
|
|
28
|
-
const toQueryString = /* @__PURE__ */ __name((options) => {
|
|
29
|
-
const searchParams = new URLSearchParams();
|
|
30
|
-
const keys = Object.keys(options).sort();
|
|
31
|
-
for (const key of keys) {
|
|
32
|
-
const value = options[key];
|
|
33
|
-
if (value) {
|
|
34
|
-
searchParams.append(key, value);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
return searchParams.toString();
|
|
38
|
-
}, "toQueryString");
|
|
39
39
|
class SSO {
|
|
40
40
|
constructor(workos) {
|
|
41
41
|
this.workos = workos;
|
|
@@ -63,33 +63,11 @@ class SSO {
|
|
|
63
63
|
async deleteConnection(id) {
|
|
64
64
|
await this.workos.delete(`/connections/${id}`);
|
|
65
65
|
}
|
|
66
|
-
getAuthorizationUrl({
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
loginHint,
|
|
71
|
-
organization,
|
|
72
|
-
provider,
|
|
73
|
-
redirectUri,
|
|
74
|
-
state
|
|
75
|
-
}) {
|
|
76
|
-
if (!provider && !connection && !organization) {
|
|
77
|
-
throw new Error(
|
|
78
|
-
`Incomplete arguments. Need to specify either a 'connection', 'organization', or 'provider'.`
|
|
79
|
-
);
|
|
80
|
-
}
|
|
81
|
-
const query = toQueryString({
|
|
82
|
-
connection,
|
|
83
|
-
organization,
|
|
84
|
-
domain_hint: domainHint,
|
|
85
|
-
login_hint: loginHint,
|
|
86
|
-
provider,
|
|
87
|
-
client_id: clientId,
|
|
88
|
-
redirect_uri: redirectUri,
|
|
89
|
-
response_type: "code",
|
|
90
|
-
state
|
|
66
|
+
getAuthorizationUrl(options) {
|
|
67
|
+
return clientSSO.getAuthorizationUrl({
|
|
68
|
+
...options,
|
|
69
|
+
baseURL: this.workos.baseURL
|
|
91
70
|
});
|
|
92
|
-
return `${this.workos.baseURL}/sso/authorize?${query}`;
|
|
93
71
|
}
|
|
94
72
|
async getConnection(id) {
|
|
95
73
|
const { data } = await this.workos.get(
|
package/lib/cjs/sso/sso.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/sso/sso.ts"],"sourcesContent":["import { UnknownRecord } from '../common/interfaces/unknown-record.interface';\nimport { fetchAndDeserialize } from '../common/utils/fetch-and-deserialize';\nimport { AutoPaginatable } from '../common/utils/pagination';\nimport { WorkOS } from '../workos';\nimport {\n Connection,\n ConnectionResponse,\n GetProfileAndTokenOptions,\n GetProfileOptions,\n ListConnectionsOptions,\n Profile,\n ProfileAndToken,\n ProfileAndTokenResponse,\n ProfileResponse,\n SSOAuthorizationURLOptions,\n SerializedListConnectionsOptions,\n} from './interfaces';\nimport {\n deserializeConnection,\n deserializeProfile,\n deserializeProfileAndToken,\n serializeListConnectionsOptions,\n} from './serializers';\n\
|
|
1
|
+
{"version":3,"sources":["../../../src/sso/sso.ts"],"sourcesContent":["import * as clientSSO from '../client/sso';\nimport { UnknownRecord } from '../common/interfaces/unknown-record.interface';\nimport { fetchAndDeserialize } from '../common/utils/fetch-and-deserialize';\nimport { AutoPaginatable } from '../common/utils/pagination';\nimport { WorkOS } from '../workos';\nimport {\n Connection,\n ConnectionResponse,\n GetProfileAndTokenOptions,\n GetProfileOptions,\n ListConnectionsOptions,\n Profile,\n ProfileAndToken,\n ProfileAndTokenResponse,\n ProfileResponse,\n SSOAuthorizationURLOptions,\n SerializedListConnectionsOptions,\n} from './interfaces';\nimport {\n deserializeConnection,\n deserializeProfile,\n deserializeProfileAndToken,\n serializeListConnectionsOptions,\n} from './serializers';\n\nexport class SSO {\n constructor(private readonly workos: WorkOS) {}\n\n async listConnections(\n options?: ListConnectionsOptions,\n ): Promise<AutoPaginatable<Connection, SerializedListConnectionsOptions>> {\n return new AutoPaginatable(\n await fetchAndDeserialize<ConnectionResponse, Connection>(\n this.workos,\n '/connections',\n deserializeConnection,\n options ? serializeListConnectionsOptions(options) : undefined,\n ),\n (params) =>\n fetchAndDeserialize<ConnectionResponse, Connection>(\n this.workos,\n '/connections',\n deserializeConnection,\n params,\n ),\n options ? serializeListConnectionsOptions(options) : undefined,\n );\n }\n async deleteConnection(id: string) {\n await this.workos.delete(`/connections/${id}`);\n }\n\n getAuthorizationUrl(options: SSOAuthorizationURLOptions): string {\n // Delegate to client implementation\n return clientSSO.getAuthorizationUrl({\n ...options,\n baseURL: this.workos.baseURL,\n });\n }\n\n async getConnection(id: string): Promise<Connection> {\n const { data } = await this.workos.get<ConnectionResponse>(\n `/connections/${id}`,\n );\n\n return deserializeConnection(data);\n }\n\n async getProfileAndToken<\n CustomAttributesType extends UnknownRecord = UnknownRecord,\n >({\n code,\n clientId,\n }: GetProfileAndTokenOptions): Promise<\n ProfileAndToken<CustomAttributesType>\n > {\n const form = new URLSearchParams({\n client_id: clientId,\n client_secret: this.workos.key as string,\n grant_type: 'authorization_code',\n code,\n });\n\n const { data } = await this.workos.post<\n ProfileAndTokenResponse<CustomAttributesType>\n >('/sso/token', form);\n\n return deserializeProfileAndToken(data);\n }\n\n async getProfile<CustomAttributesType extends UnknownRecord = UnknownRecord>({\n accessToken,\n }: GetProfileOptions): Promise<Profile<CustomAttributesType>> {\n const { data } = await this.workos.get<\n ProfileResponse<CustomAttributesType>\n >('/sso/profile', {\n accessToken,\n });\n\n return deserializeProfile(data);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAA2B;AAE3B,mCAAoC;AACpC,wBAAgC;AAehC,yBAKO;AAEA,MAAM,IAAI;AAAA,EACf,YAA6B,QAAgB;AAAhB;AAAA,EAAiB;AAAA,EA1BhD,OAyBiB;AAAA;AAAA;AAAA,EAGf,MAAM,gBACJ,SACwE;AACxE,WAAO,IAAI;AAAA,MACT,UAAM;AAAA,QACJ,KAAK;AAAA,QACL;AAAA,QACA;AAAA,QACA,cAAU,oDAAgC,OAAO,IAAI;AAAA,MACvD;AAAA,MACA,CAAC,eACC;AAAA,QACE,KAAK;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACF,cAAU,oDAAgC,OAAO,IAAI;AAAA,IACvD;AAAA,EACF;AAAA,EACA,MAAM,iBAAiB,IAAY;AACjC,UAAM,KAAK,OAAO,OAAO,gBAAgB,EAAE,EAAE;AAAA,EAC/C;AAAA,EAEA,oBAAoB,SAA6C;AAE/D,WAAO,UAAU,oBAAoB;AAAA,MACnC,GAAG;AAAA,MACH,SAAS,KAAK,OAAO;AAAA,IACvB,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,cAAc,IAAiC;AACnD,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,OAAO;AAAA,MACjC,gBAAgB,EAAE;AAAA,IACpB;AAEA,eAAO,0CAAsB,IAAI;AAAA,EACnC;AAAA,EAEA,MAAM,mBAEJ;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAEE;AACA,UAAM,OAAO,IAAI,gBAAgB;AAAA,MAC/B,WAAW;AAAA,MACX,eAAe,KAAK,OAAO;AAAA,MAC3B,YAAY;AAAA,MACZ;AAAA,IACF,CAAC;AAED,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,OAAO,KAEjC,cAAc,IAAI;AAEpB,eAAO,+CAA2B,IAAI;AAAA,EACxC;AAAA,EAEA,MAAM,WAAuE;AAAA,IAC3E;AAAA,EACF,GAA8D;AAC5D,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,OAAO,IAEjC,gBAAgB;AAAA,MAChB;AAAA,IACF,CAAC;AAED,eAAO,uCAAmB,IAAI;AAAA,EAChC;AACF;","names":[]}
|
package/lib/cjs/sso/sso.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import '../common/interfaces/unknown-record.interface.cjs';
|
|
2
2
|
import '../common/utils/pagination.cjs';
|
|
3
|
-
export { S as SSO } from '../workos-
|
|
3
|
+
export { S as SSO } from '../workos-Bt8QqzZV.cjs';
|
|
4
4
|
import './interfaces/authorization-url-options.interface.cjs';
|
|
5
5
|
import './interfaces/connection.interface.cjs';
|
|
6
6
|
import './interfaces/get-profile-options.interface.cjs';
|
|
@@ -61,6 +61,7 @@ import '../audit-logs/interfaces/audit-log-export.interface.cjs';
|
|
|
61
61
|
import '../audit-logs/interfaces/create-audit-log-event-options.interface.cjs';
|
|
62
62
|
import '../audit-logs/interfaces/create-audit-log-schema-options.interface.cjs';
|
|
63
63
|
import 'jose';
|
|
64
|
+
import '../user-management-B38wNrIN.cjs';
|
|
64
65
|
import '../user-management/interfaces/authenticate-with-code-options.interface.cjs';
|
|
65
66
|
import '../user-management/interfaces/authenticate-with-options-base.interface.cjs';
|
|
66
67
|
import '../user-management/interfaces/authenticate-with-code-and-verifier-options.interface.cjs';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { SSOAuthorizationURLOptions as SSOAuthorizationURLOptions$1 } from './sso/interfaces/authorization-url-options.interface.cjs';
|
|
2
|
+
|
|
3
|
+
type SSOAuthorizationURLOptions = SSOAuthorizationURLOptions$1 & {
|
|
4
|
+
baseURL?: string;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Generates the authorization URL for SSO authentication.
|
|
8
|
+
* Does not require an API key, suitable for OAuth client operations.
|
|
9
|
+
*
|
|
10
|
+
* @param options - SSO authorization URL options
|
|
11
|
+
* @returns The authorization URL as a string
|
|
12
|
+
* @throws Error if required arguments are missing
|
|
13
|
+
*/
|
|
14
|
+
declare function getAuthorizationUrl(options: SSOAuthorizationURLOptions): string;
|
|
15
|
+
|
|
16
|
+
type sso_SSOAuthorizationURLOptions = SSOAuthorizationURLOptions;
|
|
17
|
+
declare const sso_getAuthorizationUrl: typeof getAuthorizationUrl;
|
|
18
|
+
declare namespace sso {
|
|
19
|
+
export { type sso_SSOAuthorizationURLOptions as SSOAuthorizationURLOptions, sso_getAuthorizationUrl as getAuthorizationUrl };
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export { type SSOAuthorizationURLOptions as S, getAuthorizationUrl as g, sso as s };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
interface SSOAuthorizationURLOptions {
|
|
2
|
+
clientId: string;
|
|
3
|
+
connection?: string;
|
|
4
|
+
organization?: string;
|
|
5
|
+
domainHint?: string;
|
|
6
|
+
loginHint?: string;
|
|
7
|
+
provider?: string;
|
|
8
|
+
providerQueryParams?: Record<string, string | boolean | number>;
|
|
9
|
+
providerScopes?: string[];
|
|
10
|
+
redirectUri: string;
|
|
11
|
+
state?: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Generates the authorization URL for SSO authentication.
|
|
15
|
+
* This method is safe to use in browser environments as it doesn't require an API key.
|
|
16
|
+
*
|
|
17
|
+
* @param options - SSO authorization URL options
|
|
18
|
+
* @returns The authorization URL as a string
|
|
19
|
+
* @throws Error if required arguments are missing
|
|
20
|
+
*/
|
|
21
|
+
declare function getAuthorizationUrl(options: SSOAuthorizationURLOptions & {
|
|
22
|
+
baseURL?: string;
|
|
23
|
+
}): string;
|
|
24
|
+
|
|
25
|
+
type sso_SSOAuthorizationURLOptions = SSOAuthorizationURLOptions;
|
|
26
|
+
declare const sso_getAuthorizationUrl: typeof getAuthorizationUrl;
|
|
27
|
+
declare namespace sso {
|
|
28
|
+
export { type sso_SSOAuthorizationURLOptions as SSOAuthorizationURLOptions, sso_getAuthorizationUrl as getAuthorizationUrl };
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export { type SSOAuthorizationURLOptions as S, getAuthorizationUrl as g, sso as s };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
interface SSOAuthorizationURLOptions {
|
|
2
|
+
clientId: string;
|
|
3
|
+
connection?: string;
|
|
4
|
+
organization?: string;
|
|
5
|
+
domainHint?: string;
|
|
6
|
+
loginHint?: string;
|
|
7
|
+
provider?: string;
|
|
8
|
+
providerQueryParams?: Record<string, string | boolean | number>;
|
|
9
|
+
providerScopes?: string[];
|
|
10
|
+
redirectUri: string;
|
|
11
|
+
state?: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Generates the authorization URL for SSO authentication.
|
|
15
|
+
* Does not require an API key, suitable for OAuth client operations.
|
|
16
|
+
*
|
|
17
|
+
* @param options - SSO authorization URL options
|
|
18
|
+
* @returns The authorization URL as a string
|
|
19
|
+
* @throws Error if required arguments are missing
|
|
20
|
+
*/
|
|
21
|
+
declare function getAuthorizationUrl(options: SSOAuthorizationURLOptions & {
|
|
22
|
+
baseURL?: string;
|
|
23
|
+
}): string;
|
|
24
|
+
|
|
25
|
+
type sso_SSOAuthorizationURLOptions = SSOAuthorizationURLOptions;
|
|
26
|
+
declare const sso_getAuthorizationUrl: typeof getAuthorizationUrl;
|
|
27
|
+
declare namespace sso {
|
|
28
|
+
export { type sso_SSOAuthorizationURLOptions as SSOAuthorizationURLOptions, sso_getAuthorizationUrl as getAuthorizationUrl };
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export { type SSOAuthorizationURLOptions as S, getAuthorizationUrl as g, sso as s };
|
package/lib/cjs/user-management/interfaces/authenticate-with-session-cookie.interface.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/user-management/interfaces/authenticate-with-session-cookie.interface.ts"],"sourcesContent":["import { AuthenticationResponse } from './authentication-response.interface';\nimport { Impersonator } from './impersonator.interface';\nimport { User } from './user.interface';\n\nexport interface AuthenticateWithSessionCookieOptions {\n sessionData: string;\n cookiePassword?: string;\n}\n\nexport interface AccessToken {\n sid: string;\n org_id?: string;\n role?: string;\n permissions?: string[];\n entitlements?: string[];\n feature_flags?: string[];\n}\n\nexport type SessionCookieData = Pick<\n AuthenticationResponse,\n 'accessToken' | 'impersonator' | 'organizationId' | 'refreshToken' | 'user'\n>;\n\nexport enum AuthenticateWithSessionCookieFailureReason {\n INVALID_JWT = 'invalid_jwt',\n INVALID_SESSION_COOKIE = 'invalid_session_cookie',\n NO_SESSION_COOKIE_PROVIDED = 'no_session_cookie_provided',\n}\n\nexport type AuthenticateWithSessionCookieFailedResponse = {\n authenticated: false;\n reason: AuthenticateWithSessionCookieFailureReason;\n};\n\nexport type AuthenticateWithSessionCookieSuccessResponse = {\n authenticated: true;\n sessionId: string;\n organizationId?: string;\n role?: string;\n permissions?: string[];\n entitlements?: string[];\n featureFlags?: string[];\n user: User;\n impersonator?: Impersonator;\n accessToken: string;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
1
|
+
{"version":3,"sources":["../../../../src/user-management/interfaces/authenticate-with-session-cookie.interface.ts"],"sourcesContent":["import { AuthenticationResponse } from './authentication-response.interface';\nimport { Impersonator } from './impersonator.interface';\nimport { User } from './user.interface';\n\nexport interface AuthenticateWithSessionCookieOptions {\n sessionData: string;\n cookiePassword?: string;\n}\n\nexport interface AccessToken {\n sid: string;\n org_id?: string;\n role?: string;\n roles?: string[];\n permissions?: string[];\n entitlements?: string[];\n feature_flags?: string[];\n}\n\nexport type SessionCookieData = Pick<\n AuthenticationResponse,\n 'accessToken' | 'impersonator' | 'organizationId' | 'refreshToken' | 'user'\n>;\n\nexport enum AuthenticateWithSessionCookieFailureReason {\n INVALID_JWT = 'invalid_jwt',\n INVALID_SESSION_COOKIE = 'invalid_session_cookie',\n NO_SESSION_COOKIE_PROVIDED = 'no_session_cookie_provided',\n}\n\nexport type AuthenticateWithSessionCookieFailedResponse = {\n authenticated: false;\n reason: AuthenticateWithSessionCookieFailureReason;\n};\n\nexport type AuthenticateWithSessionCookieSuccessResponse = {\n authenticated: true;\n sessionId: string;\n organizationId?: string;\n role?: string;\n roles?: string[];\n permissions?: string[];\n entitlements?: string[];\n featureFlags?: string[];\n user: User;\n impersonator?: Impersonator;\n accessToken: string;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAwBO,IAAK,6CAAL,kBAAKA,gDAAL;AACL,EAAAA,4CAAA,iBAAc;AACd,EAAAA,4CAAA,4BAAyB;AACzB,EAAAA,4CAAA,gCAA6B;AAHnB,SAAAA;AAAA,GAAA;","names":["AuthenticateWithSessionCookieFailureReason"]}
|
|
@@ -11,6 +11,7 @@ interface AccessToken {
|
|
|
11
11
|
sid: string;
|
|
12
12
|
org_id?: string;
|
|
13
13
|
role?: string;
|
|
14
|
+
roles?: string[];
|
|
14
15
|
permissions?: string[];
|
|
15
16
|
entitlements?: string[];
|
|
16
17
|
feature_flags?: string[];
|
|
@@ -30,6 +31,7 @@ type AuthenticateWithSessionCookieSuccessResponse = {
|
|
|
30
31
|
sessionId: string;
|
|
31
32
|
organizationId?: string;
|
|
32
33
|
role?: string;
|
|
34
|
+
roles?: string[];
|
|
33
35
|
permissions?: string[];
|
|
34
36
|
entitlements?: string[];
|
|
35
37
|
featureFlags?: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/user-management/interfaces/authentication-response.interface.ts"],"sourcesContent":["import { Impersonator, ImpersonatorResponse } from './impersonator.interface';\nimport { OauthTokens, OauthTokensResponse } from './oauth-tokens.interface';\nimport { User, UserResponse } from './user.interface';\n\ntype AuthenticationMethod =\n | 'SSO'\n | 'Password'\n | 'Passkey'\n | 'AppleOAuth'\n | 'GitHubOAuth'\n | 'GoogleOAuth'\n | 'MicrosoftOAuth'\n | 'MagicAuth'\n | 'Impersonation';\n\nexport interface AuthenticationResponse {\n user: User;\n organizationId?: string;\n accessToken: string;\n refreshToken: string;\n impersonator?: Impersonator;\n authenticationMethod?: AuthenticationMethod;\n sealedSession?: string;\n oauthTokens?: OauthTokens;\n}\n\nexport interface AuthenticationResponseResponse {\n user: UserResponse;\n organization_id?: string;\n access_token: string;\n refresh_token: string;\n impersonator?: ImpersonatorResponse;\n authentication_method?: AuthenticationMethod;\n oauth_tokens?: OauthTokensResponse;\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/user-management/interfaces/authentication-response.interface.ts"],"sourcesContent":["import { Impersonator, ImpersonatorResponse } from './impersonator.interface';\nimport { OauthTokens, OauthTokensResponse } from './oauth-tokens.interface';\nimport { User, UserResponse } from './user.interface';\n\ntype AuthenticationMethod =\n | 'SSO'\n | 'Password'\n | 'Passkey'\n | 'AppleOAuth'\n | 'GitHubOAuth'\n | 'GoogleOAuth'\n | 'MicrosoftOAuth'\n | 'SalesforceOAuth'\n | 'MagicAuth'\n | 'Impersonation';\n\nexport interface AuthenticationResponse {\n user: User;\n organizationId?: string;\n accessToken: string;\n refreshToken: string;\n impersonator?: Impersonator;\n authenticationMethod?: AuthenticationMethod;\n sealedSession?: string;\n oauthTokens?: OauthTokens;\n}\n\nexport interface AuthenticationResponseResponse {\n user: UserResponse;\n organization_id?: string;\n access_token: string;\n refresh_token: string;\n impersonator?: ImpersonatorResponse;\n authentication_method?: AuthenticationMethod;\n oauth_tokens?: OauthTokensResponse;\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
@@ -2,7 +2,7 @@ import { Impersonator, ImpersonatorResponse } from './impersonator.interface.cjs
|
|
|
2
2
|
import { OauthTokens, OauthTokensResponse } from './oauth-tokens.interface.cjs';
|
|
3
3
|
import { User, UserResponse } from './user.interface.cjs';
|
|
4
4
|
|
|
5
|
-
type AuthenticationMethod = 'SSO' | 'Password' | 'Passkey' | 'AppleOAuth' | 'GitHubOAuth' | 'GoogleOAuth' | 'MicrosoftOAuth' | 'MagicAuth' | 'Impersonation';
|
|
5
|
+
type AuthenticationMethod = 'SSO' | 'Password' | 'Passkey' | 'AppleOAuth' | 'GitHubOAuth' | 'GoogleOAuth' | 'MicrosoftOAuth' | 'SalesforceOAuth' | 'MagicAuth' | 'Impersonation';
|
|
6
6
|
interface AuthenticationResponse {
|
|
7
7
|
user: User;
|
|
8
8
|
organizationId?: string;
|
package/lib/cjs/user-management/interfaces/create-organization-membership-options.interface.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/user-management/interfaces/create-organization-membership-options.interface.ts"],"sourcesContent":["export interface CreateOrganizationMembershipOptions {\n organizationId: string;\n userId: string;\n roleSlug?: string;\n}\n\nexport interface SerializedCreateOrganizationMembershipOptions {\n organization_id: string;\n user_id: string;\n role_slug?: string;\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/user-management/interfaces/create-organization-membership-options.interface.ts"],"sourcesContent":["export interface CreateOrganizationMembershipOptions {\n organizationId: string;\n userId: string;\n roleSlug?: string;\n roleSlugs?: string[];\n}\n\nexport interface SerializedCreateOrganizationMembershipOptions {\n organization_id: string;\n user_id: string;\n role_slug?: string;\n role_slugs?: string[];\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
package/lib/cjs/user-management/interfaces/create-organization-membership-options.interface.d.cts
CHANGED
|
@@ -2,11 +2,13 @@ interface CreateOrganizationMembershipOptions {
|
|
|
2
2
|
organizationId: string;
|
|
3
3
|
userId: string;
|
|
4
4
|
roleSlug?: string;
|
|
5
|
+
roleSlugs?: string[];
|
|
5
6
|
}
|
|
6
7
|
interface SerializedCreateOrganizationMembershipOptions {
|
|
7
8
|
organization_id: string;
|
|
8
9
|
user_id: string;
|
|
9
10
|
role_slug?: string;
|
|
11
|
+
role_slugs?: string[];
|
|
10
12
|
}
|
|
11
13
|
|
|
12
14
|
export type { CreateOrganizationMembershipOptions, SerializedCreateOrganizationMembershipOptions };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/user-management/interfaces/identity.interface.ts"],"sourcesContent":["export interface Identity {\n idpId: string;\n type: 'OAuth';\n provider
|
|
1
|
+
{"version":3,"sources":["../../../../src/user-management/interfaces/identity.interface.ts"],"sourcesContent":["export interface Identity {\n idpId: string;\n type: 'OAuth';\n provider:\n | 'AppleOAuth'\n | 'GoogleOAuth'\n | 'GitHubOAuth'\n | 'MicrosoftOAuth'\n | 'SalesforceOAuth';\n}\n\nexport interface IdentityResponse {\n idp_id: string;\n type: 'OAuth';\n provider:\n | 'AppleOAuth'\n | 'GoogleOAuth'\n | 'GitHubOAuth'\n | 'MicrosoftOAuth'\n | 'SalesforceOAuth';\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|