@iqauth/sdk 2.0.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/LICENSE +21 -0
- package/README.md +287 -0
- package/dist/browser-session.d.mts +12 -0
- package/dist/browser-session.d.ts +12 -0
- package/dist/browser-session.js +1812 -0
- package/dist/browser-session.mjs +28 -0
- package/dist/browser.d.mts +46 -0
- package/dist/browser.d.ts +46 -0
- package/dist/browser.js +768 -0
- package/dist/browser.mjs +47 -0
- package/dist/chunk-5HF3OBNO.mjs +189 -0
- package/dist/chunk-5WFR6Y33.mjs +59 -0
- package/dist/chunk-6I6RM4MN.mjs +51 -0
- package/dist/chunk-73R6BEGO.mjs +176 -0
- package/dist/chunk-E46DKOVI.mjs +632 -0
- package/dist/chunk-JQWYIIIS.mjs +1740 -0
- package/dist/chunk-X3K3WOBR.mjs +64 -0
- package/dist/chunk-Y6FXYEAI.mjs +10 -0
- package/dist/cli/index.d.mts +1 -0
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.js +581 -0
- package/dist/cli/index.mjs +57 -0
- package/dist/client-C1DXfB8Z.d.mts +911 -0
- package/dist/client-CggvJmmm.d.ts +911 -0
- package/dist/dev-FUTJZSWN.mjs +56 -0
- package/dist/doctor-OHJRZBBT.mjs +89 -0
- package/dist/errors-CDdl24MP.d.mts +52 -0
- package/dist/errors-CDdl24MP.d.ts +52 -0
- package/dist/express-BKAXB5Nl.d.ts +61 -0
- package/dist/express-CpfyYTmw.d.mts +61 -0
- package/dist/express.d.mts +45 -0
- package/dist/express.d.ts +45 -0
- package/dist/express.js +2252 -0
- package/dist/express.mjs +122 -0
- package/dist/fastify.d.mts +23 -0
- package/dist/fastify.d.ts +23 -0
- package/dist/fastify.js +2062 -0
- package/dist/fastify.mjs +118 -0
- package/dist/hono.d.mts +22 -0
- package/dist/hono.d.ts +22 -0
- package/dist/hono.js +2051 -0
- package/dist/hono.mjs +107 -0
- package/dist/index.d.mts +6 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +2070 -0
- package/dist/index.mjs +83 -0
- package/dist/init-LLCSQGNL.mjs +198 -0
- package/dist/keys-NLWFAOEM.mjs +63 -0
- package/dist/mobile.d.mts +11 -0
- package/dist/mobile.d.ts +11 -0
- package/dist/mobile.js +1809 -0
- package/dist/mobile.mjs +25 -0
- package/dist/next.d.mts +37 -0
- package/dist/next.d.ts +37 -0
- package/dist/next.js +2078 -0
- package/dist/next.mjs +130 -0
- package/dist/publishableKey-B5DIK81A.d.mts +24 -0
- package/dist/publishableKey-B5DIK81A.d.ts +24 -0
- package/dist/react.d.mts +196 -0
- package/dist/react.d.ts +196 -0
- package/dist/react.js +1457 -0
- package/dist/react.mjs +787 -0
- package/dist/server/handlers.d.mts +96 -0
- package/dist/server/handlers.d.ts +96 -0
- package/dist/server/handlers.js +243 -0
- package/dist/server/handlers.mjs +14 -0
- package/dist/server.d.mts +14 -0
- package/dist/server.d.ts +14 -0
- package/dist/server.js +2195 -0
- package/dist/server.mjs +47 -0
- package/dist/service.d.mts +11 -0
- package/dist/service.d.ts +11 -0
- package/dist/service.js +1809 -0
- package/dist/service.mjs +25 -0
- package/dist/signIn-C8f6qVjD.d.mts +238 -0
- package/dist/signIn-Cy2lbEXb.d.ts +238 -0
- package/dist/types-Cxl3bQHt.d.mts +900 -0
- package/dist/types-Cxl3bQHt.d.ts +900 -0
- package/docs/APP_INTEGRATION_MATRIX.md +59 -0
- package/docs/BROWSER_SESSION_MIGRATION.md +69 -0
- package/docs/FRESH_IMPLEMENTATION_GUIDE.md +188 -0
- package/docs/TARBALL_RELEASE_WORKFLOW.md +98 -0
- package/docs/V1_TO_V2_UPGRADE_GUIDE.md +318 -0
- package/docs/guides/api-keys.md +130 -0
- package/docs/guides/app-registration.md +149 -0
- package/docs/guides/auth-flows.md +168 -0
- package/docs/guides/branding.md +160 -0
- package/docs/guides/entitlements.md +115 -0
- package/docs/guides/entity-hierarchy.md +200 -0
- package/docs/guides/error-handling.md +251 -0
- package/docs/guides/gdpr-compliance.md +123 -0
- package/docs/guides/invitations.md +143 -0
- package/docs/guides/mfa-enrollment.md +170 -0
- package/docs/guides/middleware-reference.md +205 -0
- package/docs/guides/mobile-native.md +110 -0
- package/docs/guides/roles-and-permissions.md +220 -0
- package/docs/guides/scoped-authorization.md +247 -0
- package/docs/guides/server-platform-integration.md +52 -0
- package/docs/guides/service-automation-integration.md +36 -0
- package/docs/guides/session-management.md +97 -0
- package/docs/guides/tenant-management.md +216 -0
- package/docs/guides/token-verification.md +178 -0
- package/docs/guides/user-management.md +184 -0
- package/docs/guides/webhooks.md +136 -0
- package/docs/integration-prompts/README.md +20 -0
- package/docs/integration-prompts/first-party-browser-app.md +29 -0
- package/docs/integration-prompts/install-from-tarball.md +41 -0
- package/docs/integration-prompts/migrate-from-local-packages-source.md +57 -0
- package/docs/integration-prompts/native-mobile-app.md +24 -0
- package/docs/integration-prompts/server-platform-app.md +20 -0
- package/docs/integration-prompts/service-automation-app.md +20 -0
- package/package.json +115 -0
|
@@ -0,0 +1,900 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SOURCE REFS:
|
|
3
|
+
* - Route file: src/types/index.ts (JwtPayload, MfaChallengeTokenPayload, TenantSelectionTokenPayload, ApiSuccessResponse, ApiErrorResponse)
|
|
4
|
+
* - Route file: src/lib/response.ts (ApiResponse envelope shape)
|
|
5
|
+
* - Verified claims: sub, email, name, tenantId, vendorId, roles, entitlements, sessionId, jti, iss, aud, exp, iat, scopeContext, loginMethod
|
|
6
|
+
* - Last verified: Phase 0 Research Summary
|
|
7
|
+
*/
|
|
8
|
+
type IQAuthEnvironment = "server" | "mobile" | "browser_session" | "service";
|
|
9
|
+
interface IQAuthRetryConfig {
|
|
10
|
+
/** Maximum number of HTTP attempts including the initial one. Default 3. */
|
|
11
|
+
maxAttempts?: number;
|
|
12
|
+
/** Initial backoff delay in milliseconds. Default 100. */
|
|
13
|
+
baseDelayMs?: number;
|
|
14
|
+
/** Cap for any individual backoff delay in milliseconds. Default 2000. */
|
|
15
|
+
maxDelayMs?: number;
|
|
16
|
+
}
|
|
17
|
+
interface IQAuthVerifyConfig {
|
|
18
|
+
/** Expected `iss` claim. Defaults to "auth.dispositioniq.com". */
|
|
19
|
+
issuer?: string | string[];
|
|
20
|
+
/** Expected `aud` claim. Defaults to the IQ product audience list. */
|
|
21
|
+
audience?: string | string[];
|
|
22
|
+
/** Allowed clock skew in seconds when checking exp/nbf. Default 30. */
|
|
23
|
+
clockTolerance?: number;
|
|
24
|
+
}
|
|
25
|
+
interface IQAuthClientConfigBase {
|
|
26
|
+
baseUrl: string;
|
|
27
|
+
environment?: IQAuthEnvironment;
|
|
28
|
+
sessionHeaderName?: string;
|
|
29
|
+
sessionHeaderValue?: string;
|
|
30
|
+
/** Token verification defaults applied by `client.tokens.verify`. */
|
|
31
|
+
verify?: IQAuthVerifyConfig;
|
|
32
|
+
/** HTTP retry behavior for transient failures (network errors, 429, 5xx). */
|
|
33
|
+
retry?: IQAuthRetryConfig;
|
|
34
|
+
}
|
|
35
|
+
interface IQAuthTokenClientConfig extends IQAuthClientConfigBase {
|
|
36
|
+
apiKey?: string;
|
|
37
|
+
accessToken?: string;
|
|
38
|
+
refreshToken?: string;
|
|
39
|
+
autoRefresh?: boolean;
|
|
40
|
+
onTokenRefresh?: (tokens: TokenPair) => void;
|
|
41
|
+
}
|
|
42
|
+
interface IQAuthBrowserSessionClientConfig extends IQAuthClientConfigBase {
|
|
43
|
+
environment: "browser_session";
|
|
44
|
+
}
|
|
45
|
+
type IQAuthClientConfig = IQAuthTokenClientConfig | IQAuthBrowserSessionClientConfig;
|
|
46
|
+
interface TokenPair {
|
|
47
|
+
accessToken: string;
|
|
48
|
+
refreshToken: string;
|
|
49
|
+
}
|
|
50
|
+
interface ScopeContext {
|
|
51
|
+
type: string;
|
|
52
|
+
id: string;
|
|
53
|
+
role: string;
|
|
54
|
+
membershipId: string;
|
|
55
|
+
}
|
|
56
|
+
interface JwtClaims {
|
|
57
|
+
sub: string;
|
|
58
|
+
email: string;
|
|
59
|
+
name: string;
|
|
60
|
+
tenantId: string;
|
|
61
|
+
vendorId: string | null;
|
|
62
|
+
roles: string[];
|
|
63
|
+
entitlements: string[];
|
|
64
|
+
sessionId: string;
|
|
65
|
+
jti: string;
|
|
66
|
+
iss: string;
|
|
67
|
+
aud: string[];
|
|
68
|
+
exp?: number;
|
|
69
|
+
iat?: number;
|
|
70
|
+
scopeContext?: ScopeContext;
|
|
71
|
+
loginMethod?: string;
|
|
72
|
+
}
|
|
73
|
+
interface UserProfile {
|
|
74
|
+
id: string;
|
|
75
|
+
email: string;
|
|
76
|
+
name: string;
|
|
77
|
+
picture?: string | null;
|
|
78
|
+
isActive: boolean;
|
|
79
|
+
tenantId?: string;
|
|
80
|
+
vendorId?: string | null;
|
|
81
|
+
roles?: string[];
|
|
82
|
+
isDemoAccount?: boolean;
|
|
83
|
+
createdAt?: string;
|
|
84
|
+
updatedAt?: string;
|
|
85
|
+
googleId?: string | null;
|
|
86
|
+
mustChangePassword?: boolean;
|
|
87
|
+
passwordExpiresAt?: string | null;
|
|
88
|
+
passwordChangedAt?: string | null;
|
|
89
|
+
externalId?: string | null;
|
|
90
|
+
}
|
|
91
|
+
interface SessionUser {
|
|
92
|
+
sub: string;
|
|
93
|
+
email: string;
|
|
94
|
+
name: string;
|
|
95
|
+
tenantId?: string;
|
|
96
|
+
vendorId?: string | null;
|
|
97
|
+
roles: string[];
|
|
98
|
+
entitlements: string[];
|
|
99
|
+
}
|
|
100
|
+
interface Tenant {
|
|
101
|
+
tenantId: string;
|
|
102
|
+
tenantName?: string | null;
|
|
103
|
+
tenantSlug?: string | null;
|
|
104
|
+
roles: string[];
|
|
105
|
+
}
|
|
106
|
+
interface SignupRequest {
|
|
107
|
+
email: string;
|
|
108
|
+
name: string;
|
|
109
|
+
password: string;
|
|
110
|
+
tenantSlug?: string;
|
|
111
|
+
tenantId?: string;
|
|
112
|
+
}
|
|
113
|
+
interface TokenAuthenticatedLoginResult {
|
|
114
|
+
status: "authenticated";
|
|
115
|
+
authMode: "token";
|
|
116
|
+
tokens: TokenPair;
|
|
117
|
+
user: UserProfile;
|
|
118
|
+
}
|
|
119
|
+
interface SessionAuthenticatedLoginResult {
|
|
120
|
+
status: "authenticated";
|
|
121
|
+
authMode: "session";
|
|
122
|
+
user: SessionUser;
|
|
123
|
+
}
|
|
124
|
+
type LoginResult = TokenAuthenticatedLoginResult | SessionAuthenticatedLoginResult | {
|
|
125
|
+
status: "mfa_required";
|
|
126
|
+
mfaChallengeToken: string;
|
|
127
|
+
availableMethods: string[];
|
|
128
|
+
} | {
|
|
129
|
+
status: "tenant_selection";
|
|
130
|
+
tenantSelectionToken: string;
|
|
131
|
+
tenants: Tenant[];
|
|
132
|
+
};
|
|
133
|
+
interface Session {
|
|
134
|
+
id: string;
|
|
135
|
+
userId: string;
|
|
136
|
+
tenantId: string;
|
|
137
|
+
ipAddress: string;
|
|
138
|
+
userAgent: string;
|
|
139
|
+
deviceFingerprint?: string;
|
|
140
|
+
isActive: boolean;
|
|
141
|
+
createdAt: string;
|
|
142
|
+
lastSeenAt?: string;
|
|
143
|
+
expiresAt: string;
|
|
144
|
+
terminatedAt?: string | null;
|
|
145
|
+
terminationReason?: string | null;
|
|
146
|
+
loginMethod?: string;
|
|
147
|
+
originHost?: string | null;
|
|
148
|
+
}
|
|
149
|
+
interface TenantInfo {
|
|
150
|
+
id: string;
|
|
151
|
+
name: string;
|
|
152
|
+
slug: string;
|
|
153
|
+
plan?: string;
|
|
154
|
+
isActive?: boolean;
|
|
155
|
+
vendorId?: string | null;
|
|
156
|
+
vendorName?: string | null;
|
|
157
|
+
allowedDomains?: string[] | null;
|
|
158
|
+
autoProvisionRole?: string | null;
|
|
159
|
+
enableScopedAuth?: boolean;
|
|
160
|
+
createdAt?: string;
|
|
161
|
+
updatedAt?: string;
|
|
162
|
+
}
|
|
163
|
+
interface CreateTenantRequest {
|
|
164
|
+
name: string;
|
|
165
|
+
slug: string;
|
|
166
|
+
vendorId?: string;
|
|
167
|
+
allowedDomains?: string[];
|
|
168
|
+
autoProvisionRole?: string;
|
|
169
|
+
plan?: string;
|
|
170
|
+
}
|
|
171
|
+
interface UpdateTenantRequest {
|
|
172
|
+
name?: string;
|
|
173
|
+
slug?: string;
|
|
174
|
+
vendorId?: string | null;
|
|
175
|
+
allowedDomains?: string[];
|
|
176
|
+
autoProvisionRole?: string;
|
|
177
|
+
plan?: string;
|
|
178
|
+
isActive?: boolean;
|
|
179
|
+
enableScopedAuth?: boolean;
|
|
180
|
+
}
|
|
181
|
+
interface PromoteToVendorRequest {
|
|
182
|
+
platformTenantId: string;
|
|
183
|
+
}
|
|
184
|
+
interface PromoteToVendorResult {
|
|
185
|
+
message: string;
|
|
186
|
+
vendorId: string;
|
|
187
|
+
vendorSlug: string;
|
|
188
|
+
platformTenantId: string;
|
|
189
|
+
}
|
|
190
|
+
interface InviteTenantUserRequest {
|
|
191
|
+
email: string;
|
|
192
|
+
role: string;
|
|
193
|
+
products?: string[];
|
|
194
|
+
vendorId?: string;
|
|
195
|
+
}
|
|
196
|
+
interface InviteTenantUserResult {
|
|
197
|
+
invitation: Invitation;
|
|
198
|
+
inviteToken?: string;
|
|
199
|
+
warning?: string;
|
|
200
|
+
}
|
|
201
|
+
interface TenantUserRoleUpdate {
|
|
202
|
+
tenantUserId: string;
|
|
203
|
+
userId: string;
|
|
204
|
+
role: string;
|
|
205
|
+
}
|
|
206
|
+
interface MigrateUserRequest {
|
|
207
|
+
targetTenantId: string;
|
|
208
|
+
role: string;
|
|
209
|
+
}
|
|
210
|
+
interface BrandingConfig {
|
|
211
|
+
id?: string;
|
|
212
|
+
vendorId: string;
|
|
213
|
+
tenantId: string;
|
|
214
|
+
primaryColor?: string;
|
|
215
|
+
secondaryColor?: string;
|
|
216
|
+
accentColor?: string;
|
|
217
|
+
logoUrl?: string | null;
|
|
218
|
+
logoDarkUrl?: string | null;
|
|
219
|
+
faviconUrl?: string | null;
|
|
220
|
+
heroImageUrl?: string | null;
|
|
221
|
+
brandName?: string;
|
|
222
|
+
loginHeadline?: string | null;
|
|
223
|
+
loginSubheadline?: string | null;
|
|
224
|
+
companyName?: string;
|
|
225
|
+
headline?: string | null;
|
|
226
|
+
subheadline?: string | null;
|
|
227
|
+
supportEmail?: string;
|
|
228
|
+
supportUrl?: string | null;
|
|
229
|
+
termsUrl?: string | null;
|
|
230
|
+
privacyUrl?: string | null;
|
|
231
|
+
isPublished?: boolean;
|
|
232
|
+
publishedAt?: string | null;
|
|
233
|
+
}
|
|
234
|
+
interface UpdateBrandingRequest {
|
|
235
|
+
primaryColor?: string;
|
|
236
|
+
secondaryColor?: string;
|
|
237
|
+
accentColor?: string;
|
|
238
|
+
brandName?: string;
|
|
239
|
+
loginHeadline?: string;
|
|
240
|
+
loginSubheadline?: string;
|
|
241
|
+
companyName?: string;
|
|
242
|
+
headline?: string;
|
|
243
|
+
subheadline?: string;
|
|
244
|
+
logoUrl?: string | null;
|
|
245
|
+
logoDarkUrl?: string | null;
|
|
246
|
+
faviconUrl?: string | null;
|
|
247
|
+
heroImageUrl?: string | null;
|
|
248
|
+
supportEmail?: string;
|
|
249
|
+
supportUrl?: string;
|
|
250
|
+
termsUrl?: string;
|
|
251
|
+
privacyUrl?: string;
|
|
252
|
+
}
|
|
253
|
+
interface BrandingAsset {
|
|
254
|
+
id: string;
|
|
255
|
+
vendorId: string;
|
|
256
|
+
tenantId: string;
|
|
257
|
+
filename: string;
|
|
258
|
+
originalFilename?: string;
|
|
259
|
+
mimeType: string;
|
|
260
|
+
url?: string;
|
|
261
|
+
publicUrl?: string;
|
|
262
|
+
fileSize?: number;
|
|
263
|
+
purpose?: string;
|
|
264
|
+
createdAt?: string;
|
|
265
|
+
}
|
|
266
|
+
interface UploadAssetRequest {
|
|
267
|
+
filename: string;
|
|
268
|
+
mimeType: string;
|
|
269
|
+
data: string;
|
|
270
|
+
purpose?: string;
|
|
271
|
+
}
|
|
272
|
+
interface BrandingDomainMapping {
|
|
273
|
+
id: string;
|
|
274
|
+
vendorId: string;
|
|
275
|
+
tenantId: string;
|
|
276
|
+
domain: string;
|
|
277
|
+
createdAt?: string;
|
|
278
|
+
}
|
|
279
|
+
interface OidcDiscovery {
|
|
280
|
+
issuer: string;
|
|
281
|
+
authorization_endpoint: string;
|
|
282
|
+
token_endpoint: string;
|
|
283
|
+
userinfo_endpoint: string;
|
|
284
|
+
jwks_uri: string;
|
|
285
|
+
scopes_supported: string[];
|
|
286
|
+
response_types_supported: string[];
|
|
287
|
+
response_modes_supported: string[];
|
|
288
|
+
grant_types_supported: string[];
|
|
289
|
+
subject_types_supported: string[];
|
|
290
|
+
id_token_signing_alg_values_supported: string[];
|
|
291
|
+
token_endpoint_auth_methods_supported: string[];
|
|
292
|
+
claims_supported: string[];
|
|
293
|
+
code_challenge_methods_supported: string[];
|
|
294
|
+
registration_endpoint?: string;
|
|
295
|
+
}
|
|
296
|
+
interface JwksKey {
|
|
297
|
+
kty: string;
|
|
298
|
+
use: string;
|
|
299
|
+
alg: string;
|
|
300
|
+
kid: string;
|
|
301
|
+
n: string;
|
|
302
|
+
e: string;
|
|
303
|
+
}
|
|
304
|
+
interface JwksResponse {
|
|
305
|
+
keys: JwksKey[];
|
|
306
|
+
}
|
|
307
|
+
interface OidcTokenResponse {
|
|
308
|
+
access_token: string;
|
|
309
|
+
token_type: string;
|
|
310
|
+
expires_in: number;
|
|
311
|
+
refresh_token: string;
|
|
312
|
+
id_token?: string;
|
|
313
|
+
}
|
|
314
|
+
interface HostedClientContext {
|
|
315
|
+
clientId: string;
|
|
316
|
+
clientName: string;
|
|
317
|
+
tenantId: string | null;
|
|
318
|
+
tenantName: string | null;
|
|
319
|
+
tenantSlug: string | null;
|
|
320
|
+
signupAllowed: boolean;
|
|
321
|
+
googleAvailable: boolean;
|
|
322
|
+
passwordLoginEnabled: boolean;
|
|
323
|
+
loginMethods: string[];
|
|
324
|
+
providerDisplayOrder: string[];
|
|
325
|
+
helpText: string | null;
|
|
326
|
+
supportUrl: string | null;
|
|
327
|
+
}
|
|
328
|
+
interface ApiSuccessResponse<T = unknown> {
|
|
329
|
+
success: true;
|
|
330
|
+
data: T;
|
|
331
|
+
}
|
|
332
|
+
interface ApiErrorResponse {
|
|
333
|
+
success: false;
|
|
334
|
+
error: {
|
|
335
|
+
code: string;
|
|
336
|
+
message: string;
|
|
337
|
+
};
|
|
338
|
+
}
|
|
339
|
+
type ApiResponse<T = unknown> = ApiSuccessResponse<T> | ApiErrorResponse;
|
|
340
|
+
interface MfaMethod {
|
|
341
|
+
method: string;
|
|
342
|
+
}
|
|
343
|
+
interface MfaEnrollment {
|
|
344
|
+
id: string;
|
|
345
|
+
method: string;
|
|
346
|
+
isPrimary?: boolean;
|
|
347
|
+
}
|
|
348
|
+
interface TotpEnrollmentResult {
|
|
349
|
+
secret: string;
|
|
350
|
+
qrCodeUri: string;
|
|
351
|
+
qrCodeDataUrl: string;
|
|
352
|
+
}
|
|
353
|
+
interface TokenAuthenticatedMfaVerifyResult {
|
|
354
|
+
authMode: "token";
|
|
355
|
+
tokens: TokenPair;
|
|
356
|
+
user: UserProfile;
|
|
357
|
+
remainingBackupCodes?: number;
|
|
358
|
+
warning?: string;
|
|
359
|
+
}
|
|
360
|
+
interface SessionAuthenticatedMfaVerifyResult {
|
|
361
|
+
authMode: "session";
|
|
362
|
+
user: SessionUser;
|
|
363
|
+
remainingBackupCodes?: number;
|
|
364
|
+
warning?: string;
|
|
365
|
+
}
|
|
366
|
+
type MfaVerifyResult = TokenAuthenticatedMfaVerifyResult | SessionAuthenticatedMfaVerifyResult;
|
|
367
|
+
interface PasswordPolicy {
|
|
368
|
+
minLength?: number;
|
|
369
|
+
maxAgeDays?: number;
|
|
370
|
+
reuseCount?: number;
|
|
371
|
+
maxFailedAttempts?: number;
|
|
372
|
+
lockoutDurationMinutes?: number;
|
|
373
|
+
}
|
|
374
|
+
interface MfaPolicy {
|
|
375
|
+
role: string;
|
|
376
|
+
required: boolean;
|
|
377
|
+
methods?: string[];
|
|
378
|
+
}
|
|
379
|
+
interface UserPermissions {
|
|
380
|
+
[key: string]: unknown;
|
|
381
|
+
}
|
|
382
|
+
interface ProvisionUserRequest {
|
|
383
|
+
email: string;
|
|
384
|
+
name: string;
|
|
385
|
+
role: string;
|
|
386
|
+
vendorId?: string;
|
|
387
|
+
isActive?: boolean;
|
|
388
|
+
externalId?: string;
|
|
389
|
+
}
|
|
390
|
+
interface ProvisionUserResponse {
|
|
391
|
+
userId: string;
|
|
392
|
+
email: string;
|
|
393
|
+
tenantId: string;
|
|
394
|
+
role: string;
|
|
395
|
+
vendorId: string | null;
|
|
396
|
+
}
|
|
397
|
+
interface PermissionNodeManifest {
|
|
398
|
+
key: string;
|
|
399
|
+
label: string;
|
|
400
|
+
description?: string;
|
|
401
|
+
metadata?: Record<string, unknown>;
|
|
402
|
+
children?: PermissionNodeManifest[];
|
|
403
|
+
}
|
|
404
|
+
interface AppManifest {
|
|
405
|
+
key: string;
|
|
406
|
+
name: string;
|
|
407
|
+
description?: string;
|
|
408
|
+
version: string;
|
|
409
|
+
tenantId?: string | null;
|
|
410
|
+
metadata?: Record<string, unknown>;
|
|
411
|
+
permissions: PermissionNodeManifest[];
|
|
412
|
+
}
|
|
413
|
+
interface AppInfo {
|
|
414
|
+
id: string;
|
|
415
|
+
key: string;
|
|
416
|
+
name: string;
|
|
417
|
+
description?: string | null;
|
|
418
|
+
version: string;
|
|
419
|
+
tenantId?: string | null;
|
|
420
|
+
metadata?: Record<string, unknown>;
|
|
421
|
+
createdAt?: string;
|
|
422
|
+
updatedAt?: string;
|
|
423
|
+
}
|
|
424
|
+
interface PermissionNodeInfo {
|
|
425
|
+
id: string;
|
|
426
|
+
appId: string;
|
|
427
|
+
parentId: string | null;
|
|
428
|
+
key: string;
|
|
429
|
+
label: string;
|
|
430
|
+
description?: string | null;
|
|
431
|
+
version: string;
|
|
432
|
+
metadata?: Record<string, unknown>;
|
|
433
|
+
createdAt?: string;
|
|
434
|
+
updatedAt?: string;
|
|
435
|
+
}
|
|
436
|
+
interface AppSyncResult {
|
|
437
|
+
appId: string;
|
|
438
|
+
nodesUpserted: number;
|
|
439
|
+
}
|
|
440
|
+
interface IQAuthRequestLike {
|
|
441
|
+
headers?: {
|
|
442
|
+
authorization?: string | string[] | undefined;
|
|
443
|
+
[key: string]: unknown;
|
|
444
|
+
};
|
|
445
|
+
auth?: JwtClaims;
|
|
446
|
+
[key: string]: unknown;
|
|
447
|
+
}
|
|
448
|
+
interface IQAuthResponseLike {
|
|
449
|
+
status(code: number): IQAuthResponseLike;
|
|
450
|
+
json(body: unknown): IQAuthResponseLike;
|
|
451
|
+
}
|
|
452
|
+
type IQAuthNextFunction = (err?: unknown) => void;
|
|
453
|
+
interface ExpressMiddlewareOptions {
|
|
454
|
+
requireAuth?: boolean;
|
|
455
|
+
requiredRoles?: string[];
|
|
456
|
+
requiredEntitlements?: string[];
|
|
457
|
+
onUnauthorized?: (res: IQAuthResponseLike, reason: string) => void;
|
|
458
|
+
onForbidden?: (res: IQAuthResponseLike, reason: string) => void;
|
|
459
|
+
/**
|
|
460
|
+
* Receives unexpected (non-IQAuthError) errors thrown during verification so
|
|
461
|
+
* callers can log/report them. The original message is never sent to the
|
|
462
|
+
* client; clients only see a generic INTERNAL_ERROR response.
|
|
463
|
+
*/
|
|
464
|
+
onError?: (err: unknown) => void;
|
|
465
|
+
}
|
|
466
|
+
interface Role {
|
|
467
|
+
id: string;
|
|
468
|
+
name: string;
|
|
469
|
+
tenantId: string | null;
|
|
470
|
+
description?: string | null;
|
|
471
|
+
hierarchyLevel: number;
|
|
472
|
+
isSystem: boolean;
|
|
473
|
+
allowedScopeTypes?: string[] | null;
|
|
474
|
+
createdAt?: string;
|
|
475
|
+
updatedAt?: string;
|
|
476
|
+
}
|
|
477
|
+
interface CreateRoleRequest {
|
|
478
|
+
name: string;
|
|
479
|
+
description?: string;
|
|
480
|
+
hierarchyLevel: number;
|
|
481
|
+
}
|
|
482
|
+
interface UpdateRoleRequest {
|
|
483
|
+
description?: string;
|
|
484
|
+
hierarchyLevel?: number;
|
|
485
|
+
}
|
|
486
|
+
interface AssignRoleRequest {
|
|
487
|
+
roleName: string;
|
|
488
|
+
scopeType?: string;
|
|
489
|
+
scopeId?: string;
|
|
490
|
+
}
|
|
491
|
+
interface UserRoleAssignment {
|
|
492
|
+
id: string;
|
|
493
|
+
userId: string;
|
|
494
|
+
tenantId: string;
|
|
495
|
+
roleId: string;
|
|
496
|
+
assignedAt: string;
|
|
497
|
+
assignedBy: string | null;
|
|
498
|
+
}
|
|
499
|
+
interface UserGroupAssignment {
|
|
500
|
+
id: string;
|
|
501
|
+
userId: string;
|
|
502
|
+
groupId: string;
|
|
503
|
+
tenantId: string;
|
|
504
|
+
assignedAt: string;
|
|
505
|
+
assignedBy: string | null;
|
|
506
|
+
}
|
|
507
|
+
interface TenantUser {
|
|
508
|
+
id: string;
|
|
509
|
+
tenantId: string;
|
|
510
|
+
userId: string;
|
|
511
|
+
vendorId: string | null;
|
|
512
|
+
joinedAt: string;
|
|
513
|
+
invitedBy: string | null;
|
|
514
|
+
isActive: boolean;
|
|
515
|
+
failedLoginAttempts: number;
|
|
516
|
+
lockedUntil: string | null;
|
|
517
|
+
pinFailedAttempts: number;
|
|
518
|
+
pinLockedUntil: string | null;
|
|
519
|
+
deactivatedAt: string | null;
|
|
520
|
+
deactivatedBy: string | null;
|
|
521
|
+
metadata: Record<string, unknown>;
|
|
522
|
+
}
|
|
523
|
+
interface PermissionGroup {
|
|
524
|
+
id: string;
|
|
525
|
+
tenantId: string;
|
|
526
|
+
name: string;
|
|
527
|
+
description?: string | null;
|
|
528
|
+
createdAt?: string;
|
|
529
|
+
updatedAt?: string;
|
|
530
|
+
}
|
|
531
|
+
interface GroupPermission {
|
|
532
|
+
id: string;
|
|
533
|
+
groupId: string;
|
|
534
|
+
product: string;
|
|
535
|
+
scope: string;
|
|
536
|
+
effect: string;
|
|
537
|
+
weight?: number | null;
|
|
538
|
+
appKey?: string | null;
|
|
539
|
+
nodeKey?: string | null;
|
|
540
|
+
createdAt?: string;
|
|
541
|
+
}
|
|
542
|
+
interface AddGroupPermissionRequest {
|
|
543
|
+
product?: string;
|
|
544
|
+
scope?: string;
|
|
545
|
+
effect: string;
|
|
546
|
+
weight?: number;
|
|
547
|
+
appKey?: string;
|
|
548
|
+
nodeKey?: string;
|
|
549
|
+
}
|
|
550
|
+
interface InheritanceRelation {
|
|
551
|
+
id: string;
|
|
552
|
+
groupId: string;
|
|
553
|
+
inheritsFromGroupId: string;
|
|
554
|
+
}
|
|
555
|
+
interface UserPermissionOverride {
|
|
556
|
+
id: string;
|
|
557
|
+
userId: string;
|
|
558
|
+
tenantId: string;
|
|
559
|
+
product: string;
|
|
560
|
+
scope: string;
|
|
561
|
+
effect: string;
|
|
562
|
+
weight?: number | null;
|
|
563
|
+
expiresAt?: string | null;
|
|
564
|
+
createdAt?: string;
|
|
565
|
+
}
|
|
566
|
+
interface AddUserOverrideRequest {
|
|
567
|
+
product?: string;
|
|
568
|
+
scope?: string;
|
|
569
|
+
effect: string;
|
|
570
|
+
weight?: number;
|
|
571
|
+
expiresAt?: string;
|
|
572
|
+
appKey?: string;
|
|
573
|
+
nodeKey?: string;
|
|
574
|
+
}
|
|
575
|
+
interface EffectivePermission {
|
|
576
|
+
scope: string;
|
|
577
|
+
effect: string;
|
|
578
|
+
weight: number;
|
|
579
|
+
source: string;
|
|
580
|
+
permissionNodeId: string | null;
|
|
581
|
+
}
|
|
582
|
+
interface PermissionCheckResult {
|
|
583
|
+
allowed: boolean;
|
|
584
|
+
appKey: string;
|
|
585
|
+
nodeKey: string;
|
|
586
|
+
}
|
|
587
|
+
interface ApiKeyInfo {
|
|
588
|
+
id: string;
|
|
589
|
+
name: string;
|
|
590
|
+
tenantId: string;
|
|
591
|
+
prefix?: string;
|
|
592
|
+
scopes: string[];
|
|
593
|
+
createdBy: string;
|
|
594
|
+
isActive: boolean;
|
|
595
|
+
expiresAt?: string | null;
|
|
596
|
+
lastUsedAt?: string | null;
|
|
597
|
+
createdAt?: string;
|
|
598
|
+
}
|
|
599
|
+
interface CreateApiKeyRequest {
|
|
600
|
+
name: string;
|
|
601
|
+
scopes?: string[];
|
|
602
|
+
expiresAt?: string;
|
|
603
|
+
tenantId?: string;
|
|
604
|
+
}
|
|
605
|
+
interface CreateApiKeyResult {
|
|
606
|
+
key: ApiKeyInfo;
|
|
607
|
+
rawKey: string;
|
|
608
|
+
}
|
|
609
|
+
interface ApiKeyIntrospection {
|
|
610
|
+
tenantId: string;
|
|
611
|
+
scopes: string[];
|
|
612
|
+
name: string;
|
|
613
|
+
[key: string]: unknown;
|
|
614
|
+
}
|
|
615
|
+
interface Invitation {
|
|
616
|
+
id: string;
|
|
617
|
+
email: string;
|
|
618
|
+
tenantId: string;
|
|
619
|
+
vendorId?: string | null;
|
|
620
|
+
role: string;
|
|
621
|
+
products?: string[];
|
|
622
|
+
status: string;
|
|
623
|
+
invitedBy: string;
|
|
624
|
+
expiresAt?: string;
|
|
625
|
+
createdAt?: string;
|
|
626
|
+
}
|
|
627
|
+
interface CreateInviteRequest {
|
|
628
|
+
email: string;
|
|
629
|
+
tenantId: string;
|
|
630
|
+
vendorId?: string;
|
|
631
|
+
role: string;
|
|
632
|
+
products?: string[];
|
|
633
|
+
}
|
|
634
|
+
interface InviteValidation {
|
|
635
|
+
valid: boolean;
|
|
636
|
+
email?: string;
|
|
637
|
+
role?: string;
|
|
638
|
+
}
|
|
639
|
+
interface AcceptInviteRequest {
|
|
640
|
+
password?: string;
|
|
641
|
+
name?: string;
|
|
642
|
+
googleId?: string;
|
|
643
|
+
}
|
|
644
|
+
interface WebhookEndpoint {
|
|
645
|
+
id: string;
|
|
646
|
+
tenantId: string;
|
|
647
|
+
url: string;
|
|
648
|
+
events: string[];
|
|
649
|
+
isActive: boolean;
|
|
650
|
+
createdBy: string;
|
|
651
|
+
createdAt?: string;
|
|
652
|
+
}
|
|
653
|
+
interface CreateWebhookRequest {
|
|
654
|
+
url: string;
|
|
655
|
+
events: string[];
|
|
656
|
+
}
|
|
657
|
+
interface CreateWebhookResult {
|
|
658
|
+
endpoint: WebhookEndpoint;
|
|
659
|
+
secret: string;
|
|
660
|
+
}
|
|
661
|
+
interface WebhookDelivery {
|
|
662
|
+
id: string;
|
|
663
|
+
endpointId?: string;
|
|
664
|
+
webhookEndpointId?: string;
|
|
665
|
+
event?: string;
|
|
666
|
+
eventType?: string;
|
|
667
|
+
payload: unknown;
|
|
668
|
+
statusCode?: number | null;
|
|
669
|
+
responseStatus?: number | null;
|
|
670
|
+
response?: string | null;
|
|
671
|
+
responseBody?: string | null;
|
|
672
|
+
success?: boolean;
|
|
673
|
+
nextRetryAt?: string | null;
|
|
674
|
+
deliveredAt?: string;
|
|
675
|
+
createdAt?: string;
|
|
676
|
+
}
|
|
677
|
+
interface WebhookTestResult {
|
|
678
|
+
statusCode: number;
|
|
679
|
+
response?: string;
|
|
680
|
+
[key: string]: unknown;
|
|
681
|
+
}
|
|
682
|
+
interface Entitlement {
|
|
683
|
+
id: string;
|
|
684
|
+
tenantId: string;
|
|
685
|
+
product: string;
|
|
686
|
+
grantedBy: string;
|
|
687
|
+
expiresAt?: string | null;
|
|
688
|
+
createdAt?: string;
|
|
689
|
+
}
|
|
690
|
+
interface GrantEntitlementRequest {
|
|
691
|
+
product: string;
|
|
692
|
+
expiresAt?: string;
|
|
693
|
+
}
|
|
694
|
+
interface Vendor {
|
|
695
|
+
id: string;
|
|
696
|
+
tenantId: string;
|
|
697
|
+
name: string;
|
|
698
|
+
slug: string;
|
|
699
|
+
status: string;
|
|
700
|
+
metadata?: Record<string, unknown> | null;
|
|
701
|
+
createdAt?: string;
|
|
702
|
+
updatedAt?: string;
|
|
703
|
+
}
|
|
704
|
+
interface CreateVendorRequest {
|
|
705
|
+
name: string;
|
|
706
|
+
slug?: string;
|
|
707
|
+
status?: string;
|
|
708
|
+
metadata?: Record<string, unknown>;
|
|
709
|
+
}
|
|
710
|
+
interface UpdateVendorRequest {
|
|
711
|
+
name?: string;
|
|
712
|
+
slug?: string;
|
|
713
|
+
status?: string;
|
|
714
|
+
metadata?: Record<string, unknown>;
|
|
715
|
+
}
|
|
716
|
+
interface Source {
|
|
717
|
+
id: string;
|
|
718
|
+
vendorId?: string;
|
|
719
|
+
tenantId: string;
|
|
720
|
+
name: string;
|
|
721
|
+
slug: string;
|
|
722
|
+
status: string;
|
|
723
|
+
metadata?: Record<string, unknown> | null;
|
|
724
|
+
createdAt?: string;
|
|
725
|
+
updatedAt?: string;
|
|
726
|
+
}
|
|
727
|
+
interface CreateSourceRequest {
|
|
728
|
+
name: string;
|
|
729
|
+
slug?: string;
|
|
730
|
+
status?: string;
|
|
731
|
+
metadata?: Record<string, unknown>;
|
|
732
|
+
}
|
|
733
|
+
interface UpdateSourceRequest {
|
|
734
|
+
name?: string;
|
|
735
|
+
slug?: string;
|
|
736
|
+
status?: string;
|
|
737
|
+
metadata?: Record<string, unknown>;
|
|
738
|
+
}
|
|
739
|
+
interface Client {
|
|
740
|
+
id: string;
|
|
741
|
+
sourceId?: string;
|
|
742
|
+
tenantId: string;
|
|
743
|
+
name: string;
|
|
744
|
+
slug: string;
|
|
745
|
+
clientType?: string | null;
|
|
746
|
+
status: string;
|
|
747
|
+
metadata?: Record<string, unknown> | null;
|
|
748
|
+
createdAt?: string;
|
|
749
|
+
updatedAt?: string;
|
|
750
|
+
}
|
|
751
|
+
interface CreateClientRequest {
|
|
752
|
+
name: string;
|
|
753
|
+
slug?: string;
|
|
754
|
+
clientType?: string;
|
|
755
|
+
status?: string;
|
|
756
|
+
metadata?: Record<string, unknown>;
|
|
757
|
+
}
|
|
758
|
+
interface UpdateClientRequest {
|
|
759
|
+
name?: string;
|
|
760
|
+
slug?: string;
|
|
761
|
+
clientType?: string;
|
|
762
|
+
status?: string;
|
|
763
|
+
metadata?: Record<string, unknown>;
|
|
764
|
+
}
|
|
765
|
+
interface HierarchyVendor extends Vendor {
|
|
766
|
+
sources: HierarchySource[];
|
|
767
|
+
linkedSourceCount: number;
|
|
768
|
+
}
|
|
769
|
+
interface HierarchySource extends Source {
|
|
770
|
+
clients: HierarchyClient[];
|
|
771
|
+
linkedVendorCount: number;
|
|
772
|
+
linkedClientCount: number;
|
|
773
|
+
}
|
|
774
|
+
interface HierarchyClient extends Client {
|
|
775
|
+
linkedSourceCount: number;
|
|
776
|
+
}
|
|
777
|
+
interface HierarchyLink {
|
|
778
|
+
vendorId?: string;
|
|
779
|
+
sourceId?: string;
|
|
780
|
+
clientId?: string;
|
|
781
|
+
}
|
|
782
|
+
interface Membership {
|
|
783
|
+
id: string;
|
|
784
|
+
userId: string;
|
|
785
|
+
tenantId: string;
|
|
786
|
+
roleId: string;
|
|
787
|
+
scopeType: string;
|
|
788
|
+
scopeId: string;
|
|
789
|
+
isActive: boolean;
|
|
790
|
+
assignedBy: string;
|
|
791
|
+
expiresAt?: string | null;
|
|
792
|
+
metadata?: Record<string, unknown> | null;
|
|
793
|
+
createdAt?: string;
|
|
794
|
+
}
|
|
795
|
+
interface CreateMembershipRequest {
|
|
796
|
+
userId: string;
|
|
797
|
+
roleName: string;
|
|
798
|
+
scopeType: string;
|
|
799
|
+
scopeId: string;
|
|
800
|
+
}
|
|
801
|
+
interface UpdateMembershipRequest {
|
|
802
|
+
expiresAt?: string | null;
|
|
803
|
+
metadata?: Record<string, unknown>;
|
|
804
|
+
}
|
|
805
|
+
interface MembershipWithDetails extends Membership {
|
|
806
|
+
roleName?: string;
|
|
807
|
+
scopeEntityName?: string;
|
|
808
|
+
[key: string]: unknown;
|
|
809
|
+
}
|
|
810
|
+
interface ScopeTreeClient {
|
|
811
|
+
id: string;
|
|
812
|
+
name: string;
|
|
813
|
+
role: string;
|
|
814
|
+
grantedVia: string;
|
|
815
|
+
}
|
|
816
|
+
interface ScopeTreeSource {
|
|
817
|
+
id: string;
|
|
818
|
+
name: string;
|
|
819
|
+
role: string;
|
|
820
|
+
grantedVia: string;
|
|
821
|
+
clients: ScopeTreeClient[];
|
|
822
|
+
linkedVendorCount: number;
|
|
823
|
+
}
|
|
824
|
+
interface ScopeTreeVendor {
|
|
825
|
+
id: string;
|
|
826
|
+
name: string;
|
|
827
|
+
role: string;
|
|
828
|
+
grantedVia: string;
|
|
829
|
+
sources: ScopeTreeSource[];
|
|
830
|
+
linkedSourceCount: number;
|
|
831
|
+
}
|
|
832
|
+
interface AvailableScopesTree {
|
|
833
|
+
tenant: {
|
|
834
|
+
id: string;
|
|
835
|
+
name: string;
|
|
836
|
+
role: string;
|
|
837
|
+
} | null;
|
|
838
|
+
vendors: ScopeTreeVendor[];
|
|
839
|
+
sources: ScopeTreeSource[];
|
|
840
|
+
clients: ScopeTreeClient[];
|
|
841
|
+
}
|
|
842
|
+
interface ScopeSwitchResult {
|
|
843
|
+
accessToken: string;
|
|
844
|
+
scopeContext: ScopeContext;
|
|
845
|
+
}
|
|
846
|
+
interface GdprExportData {
|
|
847
|
+
exportedAt: string;
|
|
848
|
+
user: Record<string, unknown>;
|
|
849
|
+
memberships: Record<string, unknown>[];
|
|
850
|
+
sessions: Record<string, unknown>[];
|
|
851
|
+
linkedAccounts: Record<string, unknown>[];
|
|
852
|
+
mfaEnrollments: Record<string, unknown>[];
|
|
853
|
+
auditLog: Record<string, unknown>[];
|
|
854
|
+
}
|
|
855
|
+
interface PinStatus {
|
|
856
|
+
hasPin: boolean;
|
|
857
|
+
pinPolicy: {
|
|
858
|
+
minLength: number;
|
|
859
|
+
maxLength: number;
|
|
860
|
+
};
|
|
861
|
+
[key: string]: unknown;
|
|
862
|
+
}
|
|
863
|
+
interface PinLoginResult {
|
|
864
|
+
type: "success" | "mfa_required" | "tenant_selection";
|
|
865
|
+
accessToken?: string;
|
|
866
|
+
refreshToken?: string;
|
|
867
|
+
user?: UserProfile;
|
|
868
|
+
mfaChallengeToken?: string;
|
|
869
|
+
availableMethods?: string[];
|
|
870
|
+
tenantSelectionToken?: string;
|
|
871
|
+
tenants?: Tenant[];
|
|
872
|
+
}
|
|
873
|
+
interface MfaAvailableMethods {
|
|
874
|
+
available: string[];
|
|
875
|
+
}
|
|
876
|
+
interface TotpEnrollResult {
|
|
877
|
+
secret: string;
|
|
878
|
+
qrCodeUri: string;
|
|
879
|
+
qrCodeDataUrl: string;
|
|
880
|
+
}
|
|
881
|
+
interface TotpVerifyResult {
|
|
882
|
+
enrollment: MfaEnrollment;
|
|
883
|
+
backupCodes: string[];
|
|
884
|
+
backupCodesWarning: string;
|
|
885
|
+
}
|
|
886
|
+
interface SmsEnrollResult {
|
|
887
|
+
sent: boolean;
|
|
888
|
+
}
|
|
889
|
+
interface EmailEnrollResult {
|
|
890
|
+
sent: boolean;
|
|
891
|
+
}
|
|
892
|
+
interface BackupCodesResult {
|
|
893
|
+
backupCodes: string[];
|
|
894
|
+
warning: string;
|
|
895
|
+
}
|
|
896
|
+
interface BackupCodeCountResult {
|
|
897
|
+
remainingBackupCodes: number;
|
|
898
|
+
}
|
|
899
|
+
|
|
900
|
+
export type { PermissionNodeInfo as $, ApiSuccessResponse as A, BrandingConfig as B, CreateTenantRequest as C, MfaVerifyResult as D, PasswordPolicy as E, MfaPolicy as F, UserPermissions as G, ProvisionUserRequest as H, IQAuthEnvironment as I, JwtClaims as J, ProvisionUserResponse as K, LoginResult as L, MigrateUserRequest as M, ExpressMiddlewareOptions as N, OidcDiscovery as O, PromoteToVendorRequest as P, IQAuthRequestLike as Q, IQAuthResponseLike as R, ScopeContext as S, TokenPair as T, UserProfile as U, IQAuthNextFunction as V, IQAuthRetryConfig as W, IQAuthVerifyConfig as X, PermissionNodeManifest as Y, AppManifest as Z, AppInfo as _, IQAuthClientConfig as a, SignupRequest as a$, AppSyncResult as a0, Role as a1, CreateRoleRequest as a2, UpdateRoleRequest as a3, AssignRoleRequest as a4, UserRoleAssignment as a5, UserGroupAssignment as a6, TenantUser as a7, PermissionGroup as a8, GroupPermission as a9, UpdateSourceRequest as aA, Client as aB, CreateClientRequest as aC, UpdateClientRequest as aD, HierarchyVendor as aE, HierarchySource as aF, HierarchyClient as aG, HierarchyLink as aH, Membership as aI, CreateMembershipRequest as aJ, UpdateMembershipRequest as aK, MembershipWithDetails as aL, AvailableScopesTree as aM, ScopeTreeClient as aN, ScopeTreeSource as aO, ScopeTreeVendor as aP, ScopeSwitchResult as aQ, GdprExportData as aR, PinStatus as aS, PinLoginResult as aT, MfaAvailableMethods as aU, TotpEnrollResult as aV, TotpVerifyResult as aW, SmsEnrollResult as aX, EmailEnrollResult as aY, BackupCodesResult as aZ, BackupCodeCountResult as a_, AddGroupPermissionRequest as aa, InheritanceRelation as ab, UserPermissionOverride as ac, AddUserOverrideRequest as ad, EffectivePermission as ae, PermissionCheckResult as af, ApiKeyInfo as ag, CreateApiKeyRequest as ah, CreateApiKeyResult as ai, ApiKeyIntrospection as aj, Invitation as ak, CreateInviteRequest as al, InviteValidation as am, AcceptInviteRequest as an, WebhookEndpoint as ao, CreateWebhookRequest as ap, CreateWebhookResult as aq, WebhookDelivery as ar, WebhookTestResult as as, Entitlement as at, GrantEntitlementRequest as au, Vendor as av, CreateVendorRequest as aw, UpdateVendorRequest as ax, Source as ay, CreateSourceRequest as az, IQAuthTokenClientConfig as b, HostedClientContext as b0, IQAuthBrowserSessionClientConfig as c, SessionUser as d, Tenant as e, TokenAuthenticatedLoginResult as f, SessionAuthenticatedLoginResult as g, Session as h, TenantInfo as i, UpdateTenantRequest as j, PromoteToVendorResult as k, InviteTenantUserRequest as l, InviteTenantUserResult as m, TenantUserRoleUpdate as n, UpdateBrandingRequest as o, BrandingAsset as p, UploadAssetRequest as q, BrandingDomainMapping as r, JwksKey as s, JwksResponse as t, OidcTokenResponse as u, ApiErrorResponse as v, ApiResponse as w, MfaMethod as x, MfaEnrollment as y, TotpEnrollmentResult as z };
|