@descope/pulumi-descope 0.3.4 → 0.3.13

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.
Files changed (51) hide show
  1. package/accessKey.d.ts +197 -0
  2. package/accessKey.d.ts.map +1 -0
  3. package/accessKey.js +105 -0
  4. package/accessKey.js.map +1 -0
  5. package/config/index.d.ts +1 -0
  6. package/config/index.d.ts.map +1 -0
  7. package/config/vars.d.ts +1 -0
  8. package/config/vars.d.ts.map +1 -0
  9. package/config/vars.js +24 -1
  10. package/config/vars.js.map +1 -1
  11. package/descoper.d.ts +178 -0
  12. package/descoper.d.ts.map +1 -0
  13. package/descoper.js +175 -0
  14. package/descoper.js.map +1 -0
  15. package/engine.d.ts +77 -0
  16. package/engine.d.ts.map +1 -0
  17. package/engine.js +83 -0
  18. package/engine.js.map +1 -0
  19. package/inboundApp.d.ts +243 -0
  20. package/inboundApp.d.ts.map +1 -0
  21. package/inboundApp.js +109 -0
  22. package/inboundApp.js.map +1 -0
  23. package/index.d.ts +16 -0
  24. package/index.d.ts.map +1 -0
  25. package/index.js +42 -5
  26. package/index.js.map +1 -1
  27. package/managementKey.d.ts +189 -0
  28. package/managementKey.d.ts.map +1 -0
  29. package/managementKey.js +159 -0
  30. package/managementKey.js.map +1 -0
  31. package/package.json +4 -4
  32. package/project.d.ts +309 -30
  33. package/project.d.ts.map +1 -0
  34. package/project.js +295 -4
  35. package/project.js.map +1 -1
  36. package/provider.d.ts +4 -3
  37. package/provider.d.ts.map +1 -0
  38. package/provider.js +27 -4
  39. package/provider.js.map +1 -1
  40. package/types/index.d.ts +1 -0
  41. package/types/index.d.ts.map +1 -0
  42. package/types/index.js +25 -2
  43. package/types/index.js.map +1 -1
  44. package/types/input.d.ts +2541 -853
  45. package/types/input.d.ts.map +1 -0
  46. package/types/output.d.ts +1742 -54
  47. package/types/output.d.ts.map +1 -0
  48. package/utilities.d.ts +1 -0
  49. package/utilities.d.ts.map +1 -0
  50. package/utilities.js +24 -1
  51. package/utilities.js.map +1 -1
package/project.d.ts CHANGED
@@ -1,6 +1,272 @@
1
1
  import * as pulumi from "@pulumi/pulumi";
2
2
  import * as inputs from "./types/input";
3
3
  import * as outputs from "./types/output";
4
+ /**
5
+ * Manages the configuration of a Descope project. A project is the core entity in Descope—it contains all authentication settings, user flows, roles, connectors, and other configuration for your application.
6
+ *
7
+ * This resource manages _project configuration_, not users or tenants. For user management, use the [Descope Management API](https://docs.descope.com/api/openapi) or [SDKs](https://docs.descope.com).
8
+ *
9
+ * For a full reference of all supported connectors, see the [connectors reference](https://docs.descope.com/connectors) in the Descope documentation.
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ### Basic Project
14
+ *
15
+ * ```typescript
16
+ * import * as pulumi from "@pulumi/pulumi";
17
+ * import * as descope from "@descope/pulumi-descope";
18
+ *
19
+ * const example = new descope.Project("example", {
20
+ * name: "my-app",
21
+ * environment: "production",
22
+ * tags: [
23
+ * "prod",
24
+ * "v2",
25
+ * ],
26
+ * });
27
+ * ```
28
+ *
29
+ * ### Authentication Methods
30
+ *
31
+ * Enable and configure the authentication methods your users will use:
32
+ *
33
+ * ```typescript
34
+ * import * as pulumi from "@pulumi/pulumi";
35
+ * import * as descope from "@descope/pulumi-descope";
36
+ *
37
+ * const example = new descope.Project("example", {
38
+ * name: "my-app",
39
+ * authentication: {
40
+ * magicLink: {
41
+ * expirationTime: "1 hour",
42
+ * },
43
+ * password: {
44
+ * lock: true,
45
+ * lockAttempts: 5,
46
+ * minLength: 12,
47
+ * },
48
+ * otp: {
49
+ * expirationTime: "5 minutes",
50
+ * },
51
+ * passkeys: {
52
+ * disabled: false,
53
+ * },
54
+ * },
55
+ * });
56
+ * ```
57
+ *
58
+ * ### Roles and Permissions (RBAC)
59
+ *
60
+ * Define roles and permissions for your users:
61
+ *
62
+ * ```typescript
63
+ * import * as pulumi from "@pulumi/pulumi";
64
+ * import * as descope from "@descope/pulumi-descope";
65
+ *
66
+ * const example = new descope.Project("example", {
67
+ * name: "my-app",
68
+ * authorization: {
69
+ * permissions: [
70
+ * {
71
+ * name: "read:data",
72
+ * description: "Read access to application data",
73
+ * },
74
+ * {
75
+ * name: "write:data",
76
+ * description: "Write access to application data",
77
+ * },
78
+ * {
79
+ * name: "admin:panel",
80
+ * description: "Access to the admin panel",
81
+ * },
82
+ * ],
83
+ * roles: [
84
+ * {
85
+ * name: "viewer",
86
+ * description: "Can read data",
87
+ * permissions: ["read:data"],
88
+ * },
89
+ * {
90
+ * name: "editor",
91
+ * description: "Can read and write data",
92
+ * permissions: [
93
+ * "read:data",
94
+ * "write:data",
95
+ * ],
96
+ * },
97
+ * {
98
+ * name: "admin",
99
+ * description: "Full access",
100
+ * permissions: [
101
+ * "read:data",
102
+ * "write:data",
103
+ * "admin:panel",
104
+ * ],
105
+ * },
106
+ * ],
107
+ * },
108
+ * });
109
+ * ```
110
+ *
111
+ * ### Connectors
112
+ *
113
+ * Integrate with third-party services to enrich flows and send notifications:
114
+ *
115
+ * ```typescript
116
+ * import * as pulumi from "@pulumi/pulumi";
117
+ * import * as descope from "@descope/pulumi-descope";
118
+ *
119
+ * const example = new descope.Project("example", {
120
+ * name: "my-app",
121
+ * connectors: {
122
+ * https: [{
123
+ * name: "User Eligibility Check",
124
+ * description: "Checks if a new user is allowed to register",
125
+ * baseUrl: "https://api.example.com",
126
+ * authentication: {
127
+ * bearerToken: webhookSecret,
128
+ * },
129
+ * }],
130
+ * sendgrids: [{
131
+ * name: "Transactional Email",
132
+ * sender: {
133
+ * email: "noreply@example.com",
134
+ * name: "My App",
135
+ * },
136
+ * authentication: {
137
+ * apiKey: sendgridApiKey,
138
+ * },
139
+ * }],
140
+ * twilioCores: [{
141
+ * name: "SMS OTP",
142
+ * accountSid: twilioAccountSid,
143
+ * senders: {
144
+ * sms: {
145
+ * phoneNumber: "+15551234567",
146
+ * },
147
+ * },
148
+ * authentication: {
149
+ * authToken: twilioAuthToken,
150
+ * },
151
+ * }],
152
+ * },
153
+ * });
154
+ * ```
155
+ *
156
+ * ### Session Settings
157
+ *
158
+ * Configure token lifetimes and session behavior:
159
+ *
160
+ * ```typescript
161
+ * import * as pulumi from "@pulumi/pulumi";
162
+ * import * as descope from "@descope/pulumi-descope";
163
+ *
164
+ * const example = new descope.Project("example", {
165
+ * name: "my-app",
166
+ * projectSettings: {
167
+ * refreshTokenExpiration: "3 weeks",
168
+ * sessionTokenExpiration: "15 minutes",
169
+ * refreshTokenRotation: true,
170
+ * enableInactivity: true,
171
+ * inactivityTime: "30 minutes",
172
+ * customDomain: "auth.example.com",
173
+ * approvedDomains: [
174
+ * "example.com",
175
+ * "app.example.com",
176
+ * ],
177
+ * },
178
+ * });
179
+ * ```
180
+ *
181
+ * ### OIDC Applications
182
+ *
183
+ * Register an OIDC application for SSO:
184
+ *
185
+ * ```typescript
186
+ * import * as pulumi from "@pulumi/pulumi";
187
+ * import * as descope from "@descope/pulumi-descope";
188
+ *
189
+ * const example = new descope.Project("example", {
190
+ * name: "my-app",
191
+ * applications: {
192
+ * oidcApplications: [{
193
+ * name: "My Web App",
194
+ * description: "Primary web application",
195
+ * loginPageUrl: "https://app.example.com/login",
196
+ * }],
197
+ * },
198
+ * });
199
+ * ```
200
+ *
201
+ * ### JWT Templates
202
+ *
203
+ * Customize the JWT claims added to session tokens:
204
+ *
205
+ * ```typescript
206
+ * import * as pulumi from "@pulumi/pulumi";
207
+ * import * as descope from "@descope/pulumi-descope";
208
+ *
209
+ * const example = new descope.Project("example", {
210
+ * name: "my-app",
211
+ * jwtTemplates: {
212
+ * userTemplates: [{
213
+ * name: "app-claims",
214
+ * description: "Adds subscription tier and org context to user JWTs",
215
+ * template: JSON.stringify({
216
+ * tier: "@user.customAttributes.subscriptionTier",
217
+ * org_id: "@user.tenants[0].tenantId",
218
+ * }),
219
+ * excludePermissionClaim: true,
220
+ * addJtiClaim: true,
221
+ * overrideSubjectClaim: true,
222
+ * }],
223
+ * },
224
+ * projectSettings: {
225
+ * userJwtTemplate: "app-claims",
226
+ * },
227
+ * });
228
+ * ```
229
+ *
230
+ * ### SSO Settings
231
+ *
232
+ * Configure global settings for Single Sign-On across tenants:
233
+ *
234
+ * ```typescript
235
+ * import * as pulumi from "@pulumi/pulumi";
236
+ * import * as descope from "@descope/pulumi-descope";
237
+ *
238
+ * const example = new descope.Project("example", {
239
+ * name: "my-app",
240
+ * authentication: {
241
+ * sso: {
242
+ * mergeUsers: true,
243
+ * allowOverrideRoles: true,
244
+ * groupsPriority: true,
245
+ * requireSsoDomains: true,
246
+ * requireGroupsAttributeName: true,
247
+ * mandatoryUserAttributes: [
248
+ * {
249
+ * id: "email",
250
+ * },
251
+ * {
252
+ * id: "name",
253
+ * },
254
+ * {
255
+ * id: "department",
256
+ * custom: true,
257
+ * },
258
+ * ],
259
+ * ssoSuiteSettings: {
260
+ * styleId: "my-brand-style",
261
+ * hideScim: false,
262
+ * hideSaml: false,
263
+ * hideOidc: false,
264
+ * },
265
+ * },
266
+ * },
267
+ * });
268
+ * ```
269
+ */
4
270
  export declare class Project extends pulumi.CustomResource {
5
271
  /**
6
272
  * Get an existing Project resource's state with the given name, ID, and optional extra
@@ -17,6 +283,10 @@ export declare class Project extends pulumi.CustomResource {
17
283
  * when multiple copies of the Pulumi SDK have been loaded into the same process.
18
284
  */
19
285
  static isInstance(obj: any): obj is Project;
286
+ /**
287
+ * Admin portal configuration - A hosted page for end users to access and use Descope Widgets
288
+ */
289
+ readonly adminPortal: pulumi.Output<outputs.ProjectAdminPortal>;
20
290
  /**
21
291
  * Applications that are registered with the project.
22
292
  */
@@ -94,137 +364,146 @@ export declare class Project extends pulumi.CustomResource {
94
364
  * Input properties used for looking up and filtering Project resources.
95
365
  */
96
366
  export interface ProjectState {
367
+ /**
368
+ * Admin portal configuration - A hosted page for end users to access and use Descope Widgets
369
+ */
370
+ adminPortal?: pulumi.Input<inputs.ProjectAdminPortal | undefined>;
97
371
  /**
98
372
  * Applications that are registered with the project.
99
373
  */
100
- applications?: pulumi.Input<inputs.ProjectApplications>;
374
+ applications?: pulumi.Input<inputs.ProjectApplications | undefined>;
101
375
  /**
102
376
  * Custom attributes that can be attached to users and tenants.
103
377
  */
104
- attributes?: pulumi.Input<inputs.ProjectAttributes>;
378
+ attributes?: pulumi.Input<inputs.ProjectAttributes | undefined>;
105
379
  /**
106
380
  * Settings for each authentication method.
107
381
  */
108
- authentication?: pulumi.Input<inputs.ProjectAuthentication>;
382
+ authentication?: pulumi.Input<inputs.ProjectAuthentication | undefined>;
109
383
  /**
110
384
  * Define Role-Based Access Control (RBAC) for your users by creating roles and permissions.
111
385
  */
112
- authorization?: pulumi.Input<inputs.ProjectAuthorization>;
386
+ authorization?: pulumi.Input<inputs.ProjectAuthorization | undefined>;
113
387
  /**
114
388
  * Enrich your flows by interacting with third party services.
115
389
  */
116
- connectors?: pulumi.Input<inputs.ProjectConnectors>;
390
+ connectors?: pulumi.Input<inputs.ProjectConnectors | undefined>;
117
391
  /**
118
392
  * This can be set to `production` to mark production projects, otherwise this should be left unset for development or staging projects.
119
393
  */
120
- environment?: pulumi.Input<string>;
394
+ environment?: pulumi.Input<string | undefined>;
121
395
  /**
122
396
  * Custom authentication flows to use in this project.
123
397
  */
124
398
  flows?: pulumi.Input<{
125
399
  [key: string]: pulumi.Input<inputs.ProjectFlows>;
126
- }>;
400
+ } | undefined>;
127
401
  /**
128
402
  * User invitation settings and behavior.
129
403
  */
130
- inviteSettings?: pulumi.Input<inputs.ProjectInviteSettings>;
404
+ inviteSettings?: pulumi.Input<inputs.ProjectInviteSettings | undefined>;
131
405
  /**
132
406
  * Defines templates for JSON Web Tokens (JWT) used for authentication.
133
407
  */
134
- jwtTemplates?: pulumi.Input<inputs.ProjectJwtTemplates>;
408
+ jwtTemplates?: pulumi.Input<inputs.ProjectJwtTemplates | undefined>;
135
409
  /**
136
410
  * Lists that can be used for various purposes in the project, such as IP allowlists, text lists, or custom JSON data.
137
411
  */
138
- lists?: pulumi.Input<pulumi.Input<inputs.ProjectList>[]>;
412
+ lists?: pulumi.Input<pulumi.Input<inputs.ProjectList>[] | undefined>;
139
413
  /**
140
414
  * The name of the Descope project.
141
415
  */
142
- name?: pulumi.Input<string>;
416
+ name?: pulumi.Input<string | undefined>;
143
417
  /**
144
418
  * General settings for the Descope project.
145
419
  */
146
- projectSettings?: pulumi.Input<inputs.ProjectProjectSettings>;
420
+ projectSettings?: pulumi.Input<inputs.ProjectProjectSettings | undefined>;
147
421
  /**
148
422
  * Custom styles that can be applied to the project's authentication flows.
149
423
  */
150
- styles?: pulumi.Input<inputs.ProjectStyles>;
424
+ styles?: pulumi.Input<inputs.ProjectStyles | undefined>;
151
425
  /**
152
426
  * Descriptive tags for your Descope project. Each tag must be no more than 50 characters long.
153
427
  */
154
- tags?: pulumi.Input<pulumi.Input<string>[]>;
428
+ tags?: pulumi.Input<pulumi.Input<string>[] | undefined>;
155
429
  /**
156
430
  * Embeddable components designed to facilitate the delegation of operations to tenant admins and end users.
157
431
  */
158
432
  widgets?: pulumi.Input<{
159
433
  [key: string]: pulumi.Input<inputs.ProjectWidgets>;
160
- }>;
434
+ } | undefined>;
161
435
  }
162
436
  /**
163
437
  * The set of arguments for constructing a Project resource.
164
438
  */
165
439
  export interface ProjectArgs {
440
+ /**
441
+ * Admin portal configuration - A hosted page for end users to access and use Descope Widgets
442
+ */
443
+ adminPortal?: pulumi.Input<inputs.ProjectAdminPortal | undefined>;
166
444
  /**
167
445
  * Applications that are registered with the project.
168
446
  */
169
- applications?: pulumi.Input<inputs.ProjectApplications>;
447
+ applications?: pulumi.Input<inputs.ProjectApplications | undefined>;
170
448
  /**
171
449
  * Custom attributes that can be attached to users and tenants.
172
450
  */
173
- attributes?: pulumi.Input<inputs.ProjectAttributes>;
451
+ attributes?: pulumi.Input<inputs.ProjectAttributes | undefined>;
174
452
  /**
175
453
  * Settings for each authentication method.
176
454
  */
177
- authentication?: pulumi.Input<inputs.ProjectAuthentication>;
455
+ authentication?: pulumi.Input<inputs.ProjectAuthentication | undefined>;
178
456
  /**
179
457
  * Define Role-Based Access Control (RBAC) for your users by creating roles and permissions.
180
458
  */
181
- authorization?: pulumi.Input<inputs.ProjectAuthorization>;
459
+ authorization?: pulumi.Input<inputs.ProjectAuthorization | undefined>;
182
460
  /**
183
461
  * Enrich your flows by interacting with third party services.
184
462
  */
185
- connectors?: pulumi.Input<inputs.ProjectConnectors>;
463
+ connectors?: pulumi.Input<inputs.ProjectConnectors | undefined>;
186
464
  /**
187
465
  * This can be set to `production` to mark production projects, otherwise this should be left unset for development or staging projects.
188
466
  */
189
- environment?: pulumi.Input<string>;
467
+ environment?: pulumi.Input<string | undefined>;
190
468
  /**
191
469
  * Custom authentication flows to use in this project.
192
470
  */
193
471
  flows?: pulumi.Input<{
194
472
  [key: string]: pulumi.Input<inputs.ProjectFlows>;
195
- }>;
473
+ } | undefined>;
196
474
  /**
197
475
  * User invitation settings and behavior.
198
476
  */
199
- inviteSettings?: pulumi.Input<inputs.ProjectInviteSettings>;
477
+ inviteSettings?: pulumi.Input<inputs.ProjectInviteSettings | undefined>;
200
478
  /**
201
479
  * Defines templates for JSON Web Tokens (JWT) used for authentication.
202
480
  */
203
- jwtTemplates?: pulumi.Input<inputs.ProjectJwtTemplates>;
481
+ jwtTemplates?: pulumi.Input<inputs.ProjectJwtTemplates | undefined>;
204
482
  /**
205
483
  * Lists that can be used for various purposes in the project, such as IP allowlists, text lists, or custom JSON data.
206
484
  */
207
- lists?: pulumi.Input<pulumi.Input<inputs.ProjectList>[]>;
485
+ lists?: pulumi.Input<pulumi.Input<inputs.ProjectList>[] | undefined>;
208
486
  /**
209
487
  * The name of the Descope project.
210
488
  */
211
- name?: pulumi.Input<string>;
489
+ name?: pulumi.Input<string | undefined>;
212
490
  /**
213
491
  * General settings for the Descope project.
214
492
  */
215
- projectSettings?: pulumi.Input<inputs.ProjectProjectSettings>;
493
+ projectSettings?: pulumi.Input<inputs.ProjectProjectSettings | undefined>;
216
494
  /**
217
495
  * Custom styles that can be applied to the project's authentication flows.
218
496
  */
219
- styles?: pulumi.Input<inputs.ProjectStyles>;
497
+ styles?: pulumi.Input<inputs.ProjectStyles | undefined>;
220
498
  /**
221
499
  * Descriptive tags for your Descope project. Each tag must be no more than 50 characters long.
222
500
  */
223
- tags?: pulumi.Input<pulumi.Input<string>[]>;
501
+ tags?: pulumi.Input<pulumi.Input<string>[] | undefined>;
224
502
  /**
225
503
  * Embeddable components designed to facilitate the delegation of operations to tenant admins and end users.
226
504
  */
227
505
  widgets?: pulumi.Input<{
228
506
  [key: string]: pulumi.Input<inputs.ProjectWidgets>;
229
- }>;
507
+ } | undefined>;
230
508
  }
509
+ //# sourceMappingURL=project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../project.ts"],"names":[],"mappings":"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"}