@pulumi/auth0 3.3.0 → 3.3.2

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 (132) hide show
  1. package/action.d.ts +6 -6
  2. package/action.js +3 -3
  3. package/attackProtection.d.ts +20 -20
  4. package/attackProtection.js +20 -20
  5. package/branding.d.ts +3 -22
  6. package/branding.js +3 -22
  7. package/branding.js.map +1 -1
  8. package/brandingTheme.d.ts +1 -82
  9. package/brandingTheme.js +1 -82
  10. package/brandingTheme.js.map +1 -1
  11. package/client.d.ts +48 -48
  12. package/client.js +43 -43
  13. package/clientCredentials.d.ts +3 -73
  14. package/clientCredentials.js +3 -55
  15. package/clientCredentials.js.map +1 -1
  16. package/clientGrant.d.ts +2 -2
  17. package/clientGrant.js +2 -2
  18. package/connection.d.ts +467 -91
  19. package/connection.js +464 -88
  20. package/connection.js.map +1 -1
  21. package/connectionClient.d.ts +9 -6
  22. package/connectionClient.js +9 -6
  23. package/connectionClient.js.map +1 -1
  24. package/connectionClients.d.ts +8 -5
  25. package/connectionClients.js +8 -5
  26. package/connectionClients.js.map +1 -1
  27. package/customDomain.d.ts +4 -4
  28. package/customDomain.js +4 -4
  29. package/customDomainVerification.d.ts +1 -9
  30. package/customDomainVerification.js +1 -1
  31. package/customDomainVerification.js.map +1 -1
  32. package/emailProvider.d.ts +3 -39
  33. package/emailProvider.js +3 -39
  34. package/emailProvider.js.map +1 -1
  35. package/emailTemplate.d.ts +9 -8
  36. package/emailTemplate.js +9 -8
  37. package/emailTemplate.js.map +1 -1
  38. package/getClient.d.ts +16 -0
  39. package/getClient.js +4 -0
  40. package/getClient.js.map +1 -1
  41. package/getConnection.d.ts +10 -0
  42. package/getConnection.js +4 -0
  43. package/getConnection.js.map +1 -1
  44. package/getOrganization.d.ts +4 -0
  45. package/getOrganization.js +4 -0
  46. package/getOrganization.js.map +1 -1
  47. package/getResourceServer.d.ts +4 -0
  48. package/getResourceServer.js +4 -0
  49. package/getResourceServer.js.map +1 -1
  50. package/getRole.d.ts +10 -0
  51. package/getRole.js +4 -0
  52. package/getRole.js.map +1 -1
  53. package/getUser.d.ts +2 -0
  54. package/getUser.js +2 -0
  55. package/getUser.js.map +1 -1
  56. package/guardian.d.ts +20 -20
  57. package/guardian.js +20 -20
  58. package/hook.d.ts +8 -8
  59. package/hook.js +8 -8
  60. package/logStream.d.ts +13 -11
  61. package/logStream.js +13 -11
  62. package/logStream.js.map +1 -1
  63. package/organization.d.ts +6 -5
  64. package/organization.js +6 -5
  65. package/organization.js.map +1 -1
  66. package/organizationConnection.d.ts +12 -6
  67. package/organizationConnection.js +12 -6
  68. package/organizationConnection.js.map +1 -1
  69. package/organizationConnections.d.ts +13 -4
  70. package/organizationConnections.js +13 -4
  71. package/organizationConnections.js.map +1 -1
  72. package/organizationMember.d.ts +8 -5
  73. package/organizationMember.js +8 -5
  74. package/organizationMember.js.map +1 -1
  75. package/organizationMemberRole.d.ts +10 -7
  76. package/organizationMemberRole.js +10 -7
  77. package/organizationMemberRole.js.map +1 -1
  78. package/organizationMemberRoles.d.ts +11 -8
  79. package/organizationMemberRoles.js +11 -8
  80. package/organizationMemberRoles.js.map +1 -1
  81. package/organizationMembers.d.ts +8 -5
  82. package/organizationMembers.js +8 -5
  83. package/organizationMembers.js.map +1 -1
  84. package/package.json +1 -1
  85. package/pages.d.ts +12 -12
  86. package/pages.js +12 -12
  87. package/prompt.d.ts +5 -5
  88. package/prompt.js +5 -5
  89. package/promptCustomText.d.ts +3 -3
  90. package/promptCustomText.js +3 -3
  91. package/promptPartials.d.ts +6 -6
  92. package/promptPartials.js +6 -6
  93. package/provider.d.ts +4 -4
  94. package/resourceServer.d.ts +5 -4
  95. package/resourceServer.js +5 -4
  96. package/resourceServer.js.map +1 -1
  97. package/resourceServerScope.d.ts +9 -6
  98. package/resourceServerScope.js +9 -6
  99. package/resourceServerScope.js.map +1 -1
  100. package/resourceServerScopes.d.ts +6 -3
  101. package/resourceServerScopes.js +6 -3
  102. package/resourceServerScopes.js.map +1 -1
  103. package/role.d.ts +5 -2
  104. package/role.js +5 -2
  105. package/role.js.map +1 -1
  106. package/rule.d.ts +4 -4
  107. package/rule.js +4 -4
  108. package/ruleConfig.d.ts +5 -5
  109. package/ruleConfig.js +5 -5
  110. package/tenant.d.ts +14 -14
  111. package/tenant.js +14 -14
  112. package/triggerAction.d.ts +6 -5
  113. package/triggerAction.js +6 -5
  114. package/triggerAction.js.map +1 -1
  115. package/triggerActions.d.ts +6 -4
  116. package/triggerActions.js +6 -4
  117. package/triggerActions.js.map +1 -1
  118. package/types/input.d.ts +30 -39
  119. package/types/output.d.ts +30 -39
  120. package/user.d.ts +5 -4
  121. package/user.js +5 -4
  122. package/user.js.map +1 -1
  123. package/userPermission.d.ts +3 -3
  124. package/userPermission.js +3 -3
  125. package/userPermissions.d.ts +1 -1
  126. package/userPermissions.js +1 -1
  127. package/userRole.d.ts +9 -5
  128. package/userRole.js +9 -5
  129. package/userRole.js.map +1 -1
  130. package/userRoles.d.ts +7 -3
  131. package/userRoles.js +7 -3
  132. package/userRoles.js.map +1 -1
package/connection.d.ts CHANGED
@@ -8,6 +8,76 @@ import * as outputs from "./types/output";
8
8
  * creation of multiple connections per strategy, the additional connections may not be visible in the Auth0 dashboard.
9
9
  *
10
10
  * ## Example Usage
11
+ *
12
+ * ### Auth0 Connection
13
+ *
14
+ * ```typescript
15
+ * import * as pulumi from "@pulumi/pulumi";
16
+ * import * as auth0 from "@pulumi/auth0";
17
+ *
18
+ * // This is an example of an Auth0 connection.
19
+ * const myConnection = new auth0.Connection("my_connection", {
20
+ * name: "Example-Connection",
21
+ * isDomainConnection: true,
22
+ * strategy: "auth0",
23
+ * metadata: {
24
+ * key1: "foo",
25
+ * key2: "bar",
26
+ * },
27
+ * options: {
28
+ * passwordPolicy: "excellent",
29
+ * bruteForceProtection: true,
30
+ * enabledDatabaseCustomization: true,
31
+ * importMode: false,
32
+ * requiresUsername: true,
33
+ * disableSignup: false,
34
+ * customScripts: {
35
+ * get_user: ` function getByEmail(email, callback) {
36
+ * return callback(new Error("Whoops!"));
37
+ * }
38
+ * `,
39
+ * },
40
+ * configuration: {
41
+ * foo: "bar",
42
+ * bar: "baz",
43
+ * },
44
+ * upstreamParams: JSON.stringify({
45
+ * screen_name: {
46
+ * alias: "login_hint",
47
+ * },
48
+ * }),
49
+ * passwordHistories: [{
50
+ * enable: true,
51
+ * size: 3,
52
+ * }],
53
+ * passwordNoPersonalInfo: {
54
+ * enable: true,
55
+ * },
56
+ * passwordDictionary: {
57
+ * enable: true,
58
+ * dictionaries: [
59
+ * "password",
60
+ * "admin",
61
+ * "1234",
62
+ * ],
63
+ * },
64
+ * passwordComplexityOptions: {
65
+ * minLength: 12,
66
+ * },
67
+ * validation: {
68
+ * username: {
69
+ * min: 10,
70
+ * max: 40,
71
+ * },
72
+ * },
73
+ * mfa: {
74
+ * active: true,
75
+ * returnEnrollSettings: true,
76
+ * },
77
+ * },
78
+ * });
79
+ * ```
80
+ *
11
81
  * ### Google OAuth2 Connection
12
82
  *
13
83
  * > Your Auth0 account may be pre-configured with a `google-oauth2` connection.
@@ -16,18 +86,17 @@ import * as outputs from "./types/output";
16
86
  * import * as pulumi from "@pulumi/pulumi";
17
87
  * import * as auth0 from "@pulumi/auth0";
18
88
  *
19
- * const googleOauth2 = new auth0.Connection("googleOauth2", {
89
+ * // This is an example of a Google OAuth2 connection.
90
+ * const googleOauth2 = new auth0.Connection("google_oauth2", {
91
+ * name: "Google-OAuth2-Connection",
92
+ * strategy: "google-oauth2",
20
93
  * options: {
94
+ * clientId: "<client-id>",
95
+ * clientSecret: "<client-secret>",
21
96
  * allowedAudiences: [
22
97
  * "example.com",
23
98
  * "api.example.com",
24
99
  * ],
25
- * clientId: "<client-id>",
26
- * clientSecret: "<client-secret>",
27
- * nonPersistentAttrs: [
28
- * "ethnicity",
29
- * "gender",
30
- * ],
31
100
  * scopes: [
32
101
  * "email",
33
102
  * "profile",
@@ -35,24 +104,67 @@ import * as outputs from "./types/output";
35
104
  * "youtube",
36
105
  * ],
37
106
  * setUserRootAttributes: "on_each_login",
107
+ * nonPersistentAttrs: [
108
+ * "ethnicity",
109
+ * "gender",
110
+ * ],
38
111
  * },
39
- * strategy: "google-oauth2",
40
112
  * });
41
113
  * ```
42
- * ### Facebook Connection
114
+ *
115
+ * ### Google Apps
43
116
  *
44
117
  * ```typescript
45
118
  * import * as pulumi from "@pulumi/pulumi";
46
119
  * import * as auth0 from "@pulumi/auth0";
47
120
  *
48
- * const facebook = new auth0.Connection("facebook", {
121
+ * const googleApps = new auth0.Connection("google_apps", {
122
+ * name: "connection-google-apps",
123
+ * isDomainConnection: false,
124
+ * strategy: "google-apps",
125
+ * showAsButton: false,
49
126
  * options: {
50
- * clientId: "<client-id>",
51
- * clientSecret: "<client-secret>",
127
+ * clientId: "",
128
+ * clientSecret: "",
129
+ * domain: "example.com",
130
+ * tenantDomain: "example.com",
131
+ * domainAliases: [
132
+ * "example.com",
133
+ * "api.example.com",
134
+ * ],
135
+ * apiEnableUsers: true,
136
+ * scopes: [
137
+ * "ext_profile",
138
+ * "ext_groups",
139
+ * ],
140
+ * iconUrl: "https://example.com/assets/logo.png",
141
+ * upstreamParams: JSON.stringify({
142
+ * screen_name: {
143
+ * alias: "login_hint",
144
+ * },
145
+ * }),
146
+ * setUserRootAttributes: "on_each_login",
52
147
  * nonPersistentAttrs: [
53
148
  * "ethnicity",
54
149
  * "gender",
55
150
  * ],
151
+ * },
152
+ * });
153
+ * ```
154
+ *
155
+ * ### Facebook Connection
156
+ *
157
+ * ```typescript
158
+ * import * as pulumi from "@pulumi/pulumi";
159
+ * import * as auth0 from "@pulumi/auth0";
160
+ *
161
+ * // This is an example of a Facebook connection.
162
+ * const facebook = new auth0.Connection("facebook", {
163
+ * name: "Facebook-Connection",
164
+ * strategy: "facebook",
165
+ * options: {
166
+ * clientId: "<client-id>",
167
+ * clientSecret: "<client-secret>",
56
168
  * scopes: [
57
169
  * "public_profile",
58
170
  * "email",
@@ -60,77 +172,85 @@ import * as outputs from "./types/output";
60
172
  * "user_birthday",
61
173
  * ],
62
174
  * setUserRootAttributes: "on_each_login",
175
+ * nonPersistentAttrs: [
176
+ * "ethnicity",
177
+ * "gender",
178
+ * ],
63
179
  * },
64
- * strategy: "facebook",
65
180
  * });
66
181
  * ```
182
+ *
67
183
  * ### Apple Connection
68
184
  *
69
185
  * ```typescript
70
186
  * import * as pulumi from "@pulumi/pulumi";
71
187
  * import * as auth0 from "@pulumi/auth0";
72
188
  *
189
+ * // This is an example of an Apple connection.
73
190
  * const apple = new auth0.Connection("apple", {
191
+ * name: "Apple-Connection",
192
+ * strategy: "apple",
74
193
  * options: {
75
194
  * clientId: "<client-id>",
76
195
  * clientSecret: `-----BEGIN PRIVATE KEY-----
77
196
  * MIHBAgEAMA0GCSqGSIb3DQEBAQUABIGsMIGpAgEAA
78
- * -----END PRIVATE KEY-----
79
- * `,
197
+ * -----END PRIVATE KEY-----`,
198
+ * teamId: "<team-id>",
80
199
  * keyId: "<key-id>",
81
- * nonPersistentAttrs: [
82
- * "ethnicity",
83
- * "gender",
84
- * ],
85
200
  * scopes: [
86
201
  * "email",
87
202
  * "name",
88
203
  * ],
89
204
  * setUserRootAttributes: "on_first_login",
90
- * teamId: "<team-id>",
205
+ * nonPersistentAttrs: [
206
+ * "ethnicity",
207
+ * "gender",
208
+ * ],
91
209
  * },
92
- * strategy: "apple",
93
210
  * });
94
211
  * ```
212
+ *
95
213
  * ### LinkedIn Connection
96
214
  *
97
215
  * ```typescript
98
216
  * import * as pulumi from "@pulumi/pulumi";
99
217
  * import * as auth0 from "@pulumi/auth0";
100
218
  *
219
+ * // This is an example of an LinkedIn connection.
101
220
  * const linkedin = new auth0.Connection("linkedin", {
221
+ * name: "Linkedin-Connection",
222
+ * strategy: "linkedin",
102
223
  * options: {
103
224
  * clientId: "<client-id>",
104
225
  * clientSecret: "<client-secret>",
105
- * nonPersistentAttrs: [
106
- * "ethnicity",
107
- * "gender",
108
- * ],
226
+ * strategyVersion: 2,
109
227
  * scopes: [
110
228
  * "basic_profile",
111
229
  * "profile",
112
230
  * "email",
113
231
  * ],
114
232
  * setUserRootAttributes: "on_each_login",
115
- * strategyVersion: 2,
233
+ * nonPersistentAttrs: [
234
+ * "ethnicity",
235
+ * "gender",
236
+ * ],
116
237
  * },
117
- * strategy: "linkedin",
118
238
  * });
119
239
  * ```
240
+ *
120
241
  * ### GitHub Connection
121
242
  *
122
243
  * ```typescript
123
244
  * import * as pulumi from "@pulumi/pulumi";
124
245
  * import * as auth0 from "@pulumi/auth0";
125
246
  *
247
+ * // This is an example of an GitHub connection.
126
248
  * const github = new auth0.Connection("github", {
249
+ * name: "GitHub-Connection",
250
+ * strategy: "github",
127
251
  * options: {
128
252
  * clientId: "<client-id>",
129
253
  * clientSecret: "<client-secret>",
130
- * nonPersistentAttrs: [
131
- * "ethnicity",
132
- * "gender",
133
- * ],
134
254
  * scopes: [
135
255
  * "email",
136
256
  * "profile",
@@ -138,34 +258,41 @@ import * as outputs from "./types/output";
138
258
  * "repo",
139
259
  * ],
140
260
  * setUserRootAttributes: "on_each_login",
261
+ * nonPersistentAttrs: [
262
+ * "ethnicity",
263
+ * "gender",
264
+ * ],
141
265
  * },
142
- * strategy: "github",
143
266
  * });
144
267
  * ```
268
+ *
145
269
  * ### SalesForce Connection
146
270
  *
147
271
  * ```typescript
148
272
  * import * as pulumi from "@pulumi/pulumi";
149
273
  * import * as auth0 from "@pulumi/auth0";
150
274
  *
275
+ * // This is an example of an SalesForce connection.
151
276
  * const salesforce = new auth0.Connection("salesforce", {
277
+ * name: "Salesforce-Connection",
278
+ * strategy: "salesforce",
152
279
  * options: {
153
280
  * clientId: "<client-id>",
154
281
  * clientSecret: "<client-secret>",
155
282
  * communityBaseUrl: "https://salesforce.example.com",
156
- * nonPersistentAttrs: [
157
- * "ethnicity",
158
- * "gender",
159
- * ],
160
283
  * scopes: [
161
284
  * "openid",
162
285
  * "email",
163
286
  * ],
164
287
  * setUserRootAttributes: "on_first_login",
288
+ * nonPersistentAttrs: [
289
+ * "ethnicity",
290
+ * "gender",
291
+ * ],
165
292
  * },
166
- * strategy: "salesforce",
167
293
  * });
168
294
  * ```
295
+ *
169
296
  * ### OAuth2 Connection
170
297
  *
171
298
  * Also applies to following connection strategies: `dropbox`, `bitbucket`, `paypal`, `twitter`, `amazon`, `yahoo`, `box`, `wordpress`, `shopify`, `custom`
@@ -174,70 +301,125 @@ import * as outputs from "./types/output";
174
301
  * import * as pulumi from "@pulumi/pulumi";
175
302
  * import * as auth0 from "@pulumi/auth0";
176
303
  *
304
+ * // This is an example of an OAuth2 connection.
177
305
  * const oauth2 = new auth0.Connection("oauth2", {
306
+ * name: "OAuth2-Connection",
307
+ * strategy: "oauth2",
178
308
  * options: {
179
- * authorizationEndpoint: "https://auth.example.com/oauth2/authorize",
180
309
  * clientId: "<client-id>",
181
310
  * clientSecret: "<client-secret>",
182
- * iconUrl: "https://auth.example.com/assets/logo.png",
183
- * nonPersistentAttrs: [
184
- * "ethnicity",
185
- * "gender",
186
- * ],
187
- * pkceEnabled: true,
188
311
  * scopes: [
189
312
  * "basic_profile",
190
313
  * "profile",
191
314
  * "email",
192
315
  * ],
316
+ * tokenEndpoint: "https://auth.example.com/oauth2/token",
317
+ * authorizationEndpoint: "https://auth.example.com/oauth2/authorize",
318
+ * pkceEnabled: true,
319
+ * iconUrl: "https://auth.example.com/assets/logo.png",
193
320
  * scripts: {
194
321
  * fetchUserProfile: ` function fetchUserProfile(accessToken, context, callback) {
195
322
  * return callback(new Error("Whoops!"));
196
323
  * }
197
- *
198
324
  * `,
199
325
  * },
200
326
  * setUserRootAttributes: "on_each_login",
201
- * tokenEndpoint: "https://auth.example.com/oauth2/token",
327
+ * nonPersistentAttrs: [
328
+ * "ethnicity",
329
+ * "gender",
330
+ * ],
202
331
  * },
203
- * strategy: "oauth2",
204
332
  * });
205
333
  * ```
206
- * ### SMS Connection
207
334
  *
208
- * > To be able to see this in the management dashboard as well, the name of the connection must be set to "sms".
335
+ * ### Active Directory (AD)
209
336
  *
210
337
  * ```typescript
211
338
  * import * as pulumi from "@pulumi/pulumi";
212
339
  * import * as auth0 from "@pulumi/auth0";
213
340
  *
214
- * const sms = new auth0.Connection("sms", {
215
- * isDomainConnection: false,
341
+ * const ad = new auth0.Connection("ad", {
342
+ * name: "connection-active-directory",
343
+ * displayName: "Active Directory Connection",
344
+ * strategy: "ad",
345
+ * showAsButton: true,
216
346
  * options: {
347
+ * disableSelfServiceChangePassword: true,
217
348
  * bruteForceProtection: true,
218
- * disableSignup: false,
219
- * forwardRequestInfo: true,
220
- * from: "+15555555555",
221
- * gatewayAuthentication: {
222
- * audience: "https://somewhere.com/sms-gateway",
223
- * method: "bearer",
224
- * secret: "4e2680bb74ec2ae24736476dd37ed6c2",
225
- * secretBase64Encoded: false,
226
- * subject: "test.us.auth0.com:sms",
227
- * },
228
- * gatewayUrl: "https://somewhere.com/sms-gateway",
229
- * name: "sms",
230
- * provider: "sms_gateway",
231
- * syntax: "md_with_macros",
232
- * template: "@@password@@",
233
- * totp: {
234
- * length: 6,
235
- * timeStep: 300,
236
- * },
349
+ * tenantDomain: "example.com",
350
+ * iconUrl: "https://example.com/assets/logo.png",
351
+ * domainAliases: [
352
+ * "example.com",
353
+ * "api.example.com",
354
+ * ],
355
+ * ips: [
356
+ * "192.168.1.1",
357
+ * "192.168.1.2",
358
+ * ],
359
+ * setUserRootAttributes: "on_each_login",
360
+ * nonPersistentAttrs: [
361
+ * "ethnicity",
362
+ * "gender",
363
+ * ],
364
+ * upstreamParams: JSON.stringify({
365
+ * screen_name: {
366
+ * alias: "login_hint",
367
+ * },
368
+ * }),
369
+ * useCertAuth: false,
370
+ * useKerberos: false,
371
+ * disableCache: false,
372
+ * },
373
+ * });
374
+ * ```
375
+ *
376
+ * ### Azure AD Connection
377
+ *
378
+ * ```typescript
379
+ * import * as pulumi from "@pulumi/pulumi";
380
+ * import * as auth0 from "@pulumi/auth0";
381
+ *
382
+ * const azureAd = new auth0.Connection("azure_ad", {
383
+ * name: "connection-azure-ad",
384
+ * strategy: "waad",
385
+ * showAsButton: true,
386
+ * options: {
387
+ * identityApi: "azure-active-directory-v1.0",
388
+ * clientId: "123456",
389
+ * clientSecret: "123456",
390
+ * appId: "app-id-123",
391
+ * tenantDomain: "example.onmicrosoft.com",
392
+ * domain: "example.onmicrosoft.com",
393
+ * domainAliases: [
394
+ * "example.com",
395
+ * "api.example.com",
396
+ * ],
397
+ * iconUrl: "https://example.onmicrosoft.com/assets/logo.png",
398
+ * useWsfed: false,
399
+ * waadProtocol: "openid-connect",
400
+ * waadCommonEndpoint: false,
401
+ * maxGroupsToRetrieve: "250",
402
+ * apiEnableUsers: true,
403
+ * scopes: [
404
+ * "basic_profile",
405
+ * "ext_groups",
406
+ * "ext_profile",
407
+ * ],
408
+ * setUserRootAttributes: "on_each_login",
409
+ * shouldTrustEmailVerifiedConnection: "never_set_emails_as_verified",
410
+ * upstreamParams: JSON.stringify({
411
+ * screen_name: {
412
+ * alias: "login_hint",
413
+ * },
414
+ * }),
415
+ * nonPersistentAttrs: [
416
+ * "ethnicity",
417
+ * "gender",
418
+ * ],
237
419
  * },
238
- * strategy: "sms",
239
420
  * });
240
421
  * ```
422
+ *
241
423
  * ### Email Connection
242
424
  *
243
425
  * > To be able to see this in the management dashboard as well, the name of the connection must be set to "email".
@@ -246,51 +428,245 @@ import * as outputs from "./types/output";
246
428
  * import * as pulumi from "@pulumi/pulumi";
247
429
  * import * as auth0 from "@pulumi/auth0";
248
430
  *
249
- * const passwordlessEmail = new auth0.Connection("passwordlessEmail", {
431
+ * // This is an example of an Email connection.
432
+ * const passwordlessEmail = new auth0.Connection("passwordless_email", {
433
+ * strategy: "email",
434
+ * name: "email",
250
435
  * options: {
251
- * authParams: {
252
- * responseType: "code",
253
- * scope: "openid email profile offline_access",
254
- * },
255
- * bruteForceProtection: true,
256
- * disableSignup: false,
257
- * from: "{{ application.name }} <root@auth0.com>",
258
436
  * name: "email",
259
- * nonPersistentAttrs: [],
260
- * setUserRootAttributes: "on_each_login",
437
+ * from: "{{ application.name }} <root@auth0.com>",
261
438
  * subject: "Welcome to {{ application.name }}",
262
439
  * syntax: "liquid",
263
440
  * template: "<html>This is the body of the email</html>",
441
+ * disableSignup: false,
442
+ * bruteForceProtection: true,
443
+ * setUserRootAttributes: "on_each_login",
444
+ * nonPersistentAttrs: [],
445
+ * authParams: {
446
+ * scope: "openid email profile offline_access",
447
+ * response_type: "code",
448
+ * },
264
449
  * totp: {
265
- * length: 6,
266
450
  * timeStep: 300,
451
+ * length: 6,
452
+ * },
453
+ * },
454
+ * });
455
+ * ```
456
+ *
457
+ * ### SAML Connection
458
+ *
459
+ * ```typescript
460
+ * import * as pulumi from "@pulumi/pulumi";
461
+ * import * as auth0 from "@pulumi/auth0";
462
+ *
463
+ * // This is an example of a SAML connection.
464
+ * const samlp = new auth0.Connection("samlp", {
465
+ * name: "SAML-Connection",
466
+ * strategy: "samlp",
467
+ * options: {
468
+ * debug: false,
469
+ * signingCert: "<signing-certificate>",
470
+ * signInEndpoint: "https://saml.provider/sign_in",
471
+ * signOutEndpoint: "https://saml.provider/sign_out",
472
+ * disableSignOut: true,
473
+ * tenantDomain: "example.com",
474
+ * domainAliases: [
475
+ * "example.com",
476
+ * "alias.example.com",
477
+ * ],
478
+ * protocolBinding: "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST",
479
+ * requestTemplate: `<samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
480
+ * @@AssertServiceURLAndDestination@@
481
+ * ID="@@ID@@"
482
+ * IssueInstant="@@IssueInstant@@"
483
+ * ProtocolBinding="@@ProtocolBinding@@" Version="2.0">
484
+ * <saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">@@Issuer@@</saml:Issuer>
485
+ * </samlp:AuthnRequest>`,
486
+ * userIdAttribute: "https://saml.provider/imi/ns/identity-200810",
487
+ * signatureAlgorithm: "rsa-sha256",
488
+ * digestAlgorithm: "sha256",
489
+ * iconUrl: "https://saml.provider/assets/logo.png",
490
+ * entityId: "<entity_id>",
491
+ * metadataXml: ` <?xml version="1.0"?>
492
+ * <md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" entityID="https://example.com">
493
+ * <md:IDPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
494
+ * <md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://saml.provider/sign_out"/>
495
+ * <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://saml.provider/sign_in"/>
496
+ * </md:IDPSSODescriptor>
497
+ * </md:EntityDescriptor>
498
+ * `,
499
+ * metadataUrl: "https://saml.provider/imi/ns/FederationMetadata.xml",
500
+ * fieldsMap: JSON.stringify({
501
+ * name: [
502
+ * "name",
503
+ * "nameidentifier",
504
+ * ],
505
+ * email: [
506
+ * "emailaddress",
507
+ * "nameidentifier",
508
+ * ],
509
+ * family_name: "surname",
510
+ * }),
511
+ * signingKey: {
512
+ * key: `-----BEGIN PRIVATE KEY-----
513
+ * ...{your private key here}...
514
+ * -----END PRIVATE KEY-----`,
515
+ * cert: `-----BEGIN CERTIFICATE-----
516
+ * ...{your public key cert here}...
517
+ * -----END CERTIFICATE-----`,
518
+ * },
519
+ * decryptionKey: {
520
+ * key: `-----BEGIN PRIVATE KEY-----
521
+ * ...{your private key here}...
522
+ * -----END PRIVATE KEY-----`,
523
+ * cert: `-----BEGIN CERTIFICATE-----
524
+ * ...{your public key cert here}...
525
+ * -----END CERTIFICATE-----`,
526
+ * },
527
+ * idpInitiated: {
528
+ * clientId: "client_id",
529
+ * clientProtocol: "samlp",
530
+ * clientAuthorizeQuery: "type=code&timeout=30",
267
531
  * },
268
532
  * },
269
- * strategy: "email",
270
533
  * });
271
534
  * ```
535
+ *
272
536
  * ### WindowsLive Connection
273
537
  *
274
538
  * ```typescript
275
539
  * import * as pulumi from "@pulumi/pulumi";
276
540
  * import * as auth0 from "@pulumi/auth0";
277
541
  *
542
+ * // This is an example of a WindowsLive connection.
278
543
  * const windowslive = new auth0.Connection("windowslive", {
544
+ * name: "Windowslive-Connection",
545
+ * strategy: "windowslive",
279
546
  * options: {
280
547
  * clientId: "<client-id>",
281
548
  * clientSecret: "<client-secret>",
549
+ * strategyVersion: 2,
550
+ * scopes: [
551
+ * "signin",
552
+ * "graph_user",
553
+ * ],
554
+ * setUserRootAttributes: "on_first_login",
555
+ * nonPersistentAttrs: [
556
+ * "ethnicity",
557
+ * "gender",
558
+ * ],
559
+ * },
560
+ * });
561
+ * ```
562
+ *
563
+ * ### OIDC Connection
564
+ *
565
+ * ```typescript
566
+ * import * as pulumi from "@pulumi/pulumi";
567
+ * import * as auth0 from "@pulumi/auth0";
568
+ *
569
+ * // This is an example of an OIDC connection.
570
+ * const oidc = new auth0.Connection("oidc", {
571
+ * name: "oidc-connection",
572
+ * displayName: "OIDC Connection",
573
+ * strategy: "oidc",
574
+ * showAsButton: false,
575
+ * options: {
576
+ * clientId: "1234567",
577
+ * clientSecret: "1234567",
578
+ * domainAliases: ["example.com"],
579
+ * tenantDomain: "",
580
+ * iconUrl: "https://example.com/assets/logo.png",
581
+ * type: "back_channel",
582
+ * issuer: "https://www.paypalobjects.com",
583
+ * jwksUri: "https://api.paypal.com/v1/oauth2/certs",
584
+ * discoveryUrl: "https://www.paypalobjects.com/.well-known/openid-configuration",
585
+ * tokenEndpoint: "https://api.paypal.com/v1/oauth2/token",
586
+ * userinfoEndpoint: "https://api.paypal.com/v1/oauth2/token/userinfo",
587
+ * authorizationEndpoint: "https://www.paypal.com/signin/authorize",
588
+ * scopes: [
589
+ * "openid",
590
+ * "email",
591
+ * ],
592
+ * setUserRootAttributes: "on_first_login",
282
593
  * nonPersistentAttrs: [
283
594
  * "ethnicity",
284
595
  * "gender",
285
596
  * ],
597
+ * connectionSettings: {
598
+ * pkce: "auto",
599
+ * },
600
+ * attributeMap: {
601
+ * mappingMode: "use_map",
602
+ * userinfoScope: "openid email profile groups",
603
+ * attributes: JSON.stringify({
604
+ * name: "${context.tokenset.name}",
605
+ * email: "${context.tokenset.email}",
606
+ * email_verified: "${context.tokenset.email_verified}",
607
+ * nickname: "${context.tokenset.nickname}",
608
+ * picture: "${context.tokenset.picture}",
609
+ * given_name: "${context.tokenset.given_name}",
610
+ * family_name: "${context.tokenset.family_name}",
611
+ * }),
612
+ * },
613
+ * },
614
+ * });
615
+ * ```
616
+ *
617
+ * ### Okta Connection
618
+ *
619
+ * ```typescript
620
+ * import * as pulumi from "@pulumi/pulumi";
621
+ * import * as auth0 from "@pulumi/auth0";
622
+ *
623
+ * // This is an example of an Okta Workforce connection.
624
+ * const okta = new auth0.Connection("okta", {
625
+ * name: "okta-connection",
626
+ * displayName: "Okta Workforce Connection",
627
+ * strategy: "okta",
628
+ * showAsButton: false,
629
+ * options: {
630
+ * clientId: "1234567",
631
+ * clientSecret: "1234567",
632
+ * domain: "example.okta.com",
633
+ * domainAliases: ["example.com"],
634
+ * issuer: "https://example.okta.com",
635
+ * jwksUri: "https://example.okta.com/oauth2/v1/keys",
636
+ * tokenEndpoint: "https://example.okta.com/oauth2/v1/token",
637
+ * userinfoEndpoint: "https://example.okta.com/oauth2/v1/userinfo",
638
+ * authorizationEndpoint: "https://example.okta.com/oauth2/v1/authorize",
286
639
  * scopes: [
287
- * "signin",
288
- * "graph_user",
640
+ * "openid",
641
+ * "email",
289
642
  * ],
290
643
  * setUserRootAttributes: "on_first_login",
291
- * strategyVersion: 2,
644
+ * nonPersistentAttrs: [
645
+ * "ethnicity",
646
+ * "gender",
647
+ * ],
648
+ * upstreamParams: JSON.stringify({
649
+ * screen_name: {
650
+ * alias: "login_hint",
651
+ * },
652
+ * }),
653
+ * connectionSettings: {
654
+ * pkce: "auto",
655
+ * },
656
+ * attributeMap: {
657
+ * mappingMode: "basic_profile",
658
+ * userinfoScope: "openid email profile groups",
659
+ * attributes: JSON.stringify({
660
+ * name: "${context.tokenset.name}",
661
+ * email: "${context.tokenset.email}",
662
+ * email_verified: "${context.tokenset.email_verified}",
663
+ * nickname: "${context.tokenset.nickname}",
664
+ * picture: "${context.tokenset.picture}",
665
+ * given_name: "${context.tokenset.given_name}",
666
+ * family_name: "${context.tokenset.family_name}",
667
+ * }),
668
+ * },
292
669
  * },
293
- * strategy: "windowslive",
294
670
  * });
295
671
  * ```
296
672
  *
@@ -300,7 +676,7 @@ import * as outputs from "./types/output";
300
676
  *
301
677
  * #
302
678
  *
303
- * Example:
679
+ * Example:
304
680
  *
305
681
  * ```sh
306
682
  * $ pulumi import auth0:index/connection:Connection google "con_a17f21fdb24d48a0"
@@ -337,7 +713,7 @@ export declare class Connection extends pulumi.CustomResource {
337
713
  [key: string]: string;
338
714
  } | undefined>;
339
715
  /**
340
- * The public name of the email or SMS Connection. In most cases this is the same name as the connection name.
716
+ * Name of the connection.
341
717
  */
342
718
  readonly name: pulumi.Output<string>;
343
719
  /**
@@ -384,7 +760,7 @@ export interface ConnectionState {
384
760
  [key: string]: pulumi.Input<string>;
385
761
  }>;
386
762
  /**
387
- * The public name of the email or SMS Connection. In most cases this is the same name as the connection name.
763
+ * Name of the connection.
388
764
  */
389
765
  name?: pulumi.Input<string>;
390
766
  /**
@@ -423,7 +799,7 @@ export interface ConnectionArgs {
423
799
  [key: string]: pulumi.Input<string>;
424
800
  }>;
425
801
  /**
426
- * The public name of the email or SMS Connection. In most cases this is the same name as the connection name.
802
+ * Name of the connection.
427
803
  */
428
804
  name?: pulumi.Input<string>;
429
805
  /**