@pulumi/keycloak 6.9.0-alpha.1766555854 → 6.9.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.
Files changed (54) hide show
  1. package/authentication/getSubflow.d.ts +179 -0
  2. package/authentication/getSubflow.js +126 -0
  3. package/authentication/getSubflow.js.map +1 -0
  4. package/authentication/index.d.ts +3 -0
  5. package/authentication/index.js +4 -1
  6. package/authentication/index.js.map +1 -1
  7. package/getGroup.d.ts +3 -0
  8. package/getGroup.js +2 -0
  9. package/getGroup.js.map +1 -1
  10. package/getRealm.d.ts +1 -0
  11. package/getRealm.js.map +1 -1
  12. package/group.d.ts +3 -0
  13. package/group.js +2 -0
  14. package/group.js.map +1 -1
  15. package/ldap/userFederation.d.ts +36 -0
  16. package/ldap/userFederation.js +6 -0
  17. package/ldap/userFederation.js.map +1 -1
  18. package/oidc/facebookIdentityProvider.d.ts +363 -0
  19. package/oidc/facebookIdentityProvider.js +150 -0
  20. package/oidc/facebookIdentityProvider.js.map +1 -0
  21. package/oidc/index.d.ts +3 -0
  22. package/oidc/index.js +6 -1
  23. package/oidc/index.js.map +1 -1
  24. package/openid/client.d.ts +13 -1
  25. package/openid/client.js +2 -0
  26. package/openid/client.js.map +1 -1
  27. package/openid/clientAuthorizationResource.d.ts +88 -0
  28. package/openid/clientAuthorizationResource.js +88 -0
  29. package/openid/clientAuthorizationResource.js.map +1 -1
  30. package/openid/clientAuthorizationScope.d.ts +73 -0
  31. package/openid/clientAuthorizationScope.js +73 -0
  32. package/openid/clientAuthorizationScope.js.map +1 -1
  33. package/openid/clientScope.d.ts +3 -3
  34. package/openid/getClient.d.ts +1 -0
  35. package/openid/getClient.js.map +1 -1
  36. package/organization.d.ts +5 -5
  37. package/organization.js +0 -3
  38. package/organization.js.map +1 -1
  39. package/package.json +2 -2
  40. package/realm.d.ts +15 -0
  41. package/realm.js +4 -0
  42. package/realm.js.map +1 -1
  43. package/realmKeystoreRsa.d.ts +21 -0
  44. package/realmKeystoreRsa.js +5 -0
  45. package/realmKeystoreRsa.js.map +1 -1
  46. package/saml/client.d.ts +12 -0
  47. package/saml/client.js +2 -0
  48. package/saml/client.js.map +1 -1
  49. package/saml/getClient.d.ts +1 -0
  50. package/saml/getClient.js.map +1 -1
  51. package/saml/getClientInstallationProvider.d.ts +4 -4
  52. package/saml/getClientInstallationProvider.js +4 -4
  53. package/types/input.d.ts +7 -0
  54. package/types/output.d.ts +6 -0
@@ -0,0 +1,363 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * Allows for creating and managing OIDC Identity Providers within Keycloak.
4
+ *
5
+ * OIDC (OpenID Connect) identity providers allows users to authenticate through a third party system using the OIDC standard.
6
+ *
7
+ * ## Example Usage
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as keycloak from "@pulumi/keycloak";
12
+ *
13
+ * const realm = new keycloak.Realm("realm", {
14
+ * realm: "my-realm",
15
+ * enabled: true,
16
+ * });
17
+ * const facebook = new keycloak.oidc.FacebookIdentityProvider("facebook", {
18
+ * realm: realm.id,
19
+ * clientId: facebookIdentityProviderClientId,
20
+ * clientSecret: facebookIdentityProviderClientSecret,
21
+ * trustEmail: true,
22
+ * fetchedFields: "picture",
23
+ * syncMode: "IMPORT",
24
+ * extraConfig: {
25
+ * myCustomConfigKey: "myValue",
26
+ * },
27
+ * });
28
+ * ```
29
+ *
30
+ * ## Import
31
+ *
32
+ * Facebook Identity providers can be imported using the format {{realm_id}}/{{idp_alias}}, where idp_alias is the identity provider alias.
33
+ *
34
+ * Example:
35
+ *
36
+ * bash
37
+ *
38
+ * ```sh
39
+ * $ pulumi import keycloak:oidc/facebookIdentityProvider:FacebookIdentityProvider facebook_identity_provider my-realm/my-facebook-idp
40
+ * ```
41
+ */
42
+ export declare class FacebookIdentityProvider extends pulumi.CustomResource {
43
+ /**
44
+ * Get an existing FacebookIdentityProvider resource's state with the given name, ID, and optional extra
45
+ * properties used to qualify the lookup.
46
+ *
47
+ * @param name The _unique_ name of the resulting resource.
48
+ * @param id The _unique_ provider ID of the resource to lookup.
49
+ * @param state Any extra arguments used during the lookup.
50
+ * @param opts Optional settings to control the behavior of the CustomResource.
51
+ */
52
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: FacebookIdentityProviderState, opts?: pulumi.CustomResourceOptions): FacebookIdentityProvider;
53
+ /**
54
+ * Returns true if the given object is an instance of FacebookIdentityProvider. This is designed to work even
55
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
56
+ */
57
+ static isInstance(obj: any): obj is FacebookIdentityProvider;
58
+ /**
59
+ * When `true`, unauthenticated requests with `prompt=none` will be forwarded to Google instead of returning an error. Defaults to `false`.
60
+ */
61
+ readonly acceptsPromptNoneForwardFromClient: pulumi.Output<boolean | undefined>;
62
+ /**
63
+ * When `true`, new users will be able to read stored tokens. This will automatically assign the `broker.read-token` role. Defaults to `false`.
64
+ */
65
+ readonly addReadTokenRoleOnCreate: pulumi.Output<boolean | undefined>;
66
+ /**
67
+ * The alias for the Facebook identity provider.
68
+ */
69
+ readonly alias: pulumi.Output<string>;
70
+ /**
71
+ * Enable/disable authenticate users by default.
72
+ */
73
+ readonly authenticateByDefault: pulumi.Output<boolean | undefined>;
74
+ /**
75
+ * The client or client identifier registered within the identity provider.
76
+ */
77
+ readonly clientId: pulumi.Output<string>;
78
+ /**
79
+ * The client or client secret registered within the identity provider. This field is able to obtain its value from vault, use $${vault.ID} format.
80
+ */
81
+ readonly clientSecret: pulumi.Output<string>;
82
+ /**
83
+ * The scopes to be sent when asking for authorization. It can be a space-separated list of scopes. Defaults to `openid profile email`.
84
+ */
85
+ readonly defaultScopes: pulumi.Output<string | undefined>;
86
+ /**
87
+ * When `true`, disables the usage of the user info service to obtain additional user information. Defaults to `false`.
88
+ */
89
+ readonly disableUserInfo: pulumi.Output<boolean | undefined>;
90
+ /**
91
+ * Display name for the Facebook identity provider in the GUI.
92
+ */
93
+ readonly displayName: pulumi.Output<string>;
94
+ /**
95
+ * When `true`, users will be able to log in to this realm using this identity provider. Defaults to `true`.
96
+ */
97
+ readonly enabled: pulumi.Output<boolean | undefined>;
98
+ readonly extraConfig: pulumi.Output<{
99
+ [key: string]: string;
100
+ } | undefined>;
101
+ /**
102
+ * Provide additional fields which would be fetched using the profile request. This will be appended to the default set of `id,name,email,first_name,last_name`.
103
+ */
104
+ readonly fetchedFields: pulumi.Output<string | undefined>;
105
+ /**
106
+ * The authentication flow to use when users log in for the first time through this identity provider. Defaults to `first broker login`.
107
+ */
108
+ readonly firstBrokerLoginFlowAlias: pulumi.Output<string | undefined>;
109
+ /**
110
+ * A number defining the order of this identity provider in the GUI.
111
+ */
112
+ readonly guiOrder: pulumi.Output<string | undefined>;
113
+ /**
114
+ * When `true`, this identity provider will be hidden on the login page. Defaults to `false`.
115
+ */
116
+ readonly hideOnLoginPage: pulumi.Output<boolean | undefined>;
117
+ /**
118
+ * (Computed) The unique ID that Keycloak assigns to the identity provider upon creation.
119
+ */
120
+ readonly internalId: pulumi.Output<string>;
121
+ /**
122
+ * When `true`, users cannot sign-in using this provider, but their existing accounts will be linked when possible. Defaults to `false`.
123
+ */
124
+ readonly linkOnly: pulumi.Output<boolean | undefined>;
125
+ readonly orgDomain: pulumi.Output<string | undefined>;
126
+ readonly orgRedirectModeEmailMatches: pulumi.Output<boolean | undefined>;
127
+ /**
128
+ * ID of organization with which this identity is linked.
129
+ */
130
+ readonly organizationId: pulumi.Output<string | undefined>;
131
+ /**
132
+ * The authentication flow to use after users have successfully logged in, which can be used to perform additional user verification (such as OTP checking). Defaults to an empty string, which means no post login flow will be used.
133
+ */
134
+ readonly postBrokerLoginFlowAlias: pulumi.Output<string | undefined>;
135
+ /**
136
+ * The ID of the identity provider to use. Defaults to `facebook`, which should be used unless you have extended Keycloak and provided your own implementation.
137
+ */
138
+ readonly providerId: pulumi.Output<string | undefined>;
139
+ /**
140
+ * The name of the realm. This is unique across Keycloak.
141
+ */
142
+ readonly realm: pulumi.Output<string>;
143
+ /**
144
+ * When `true`, tokens will be stored after authenticating users. Defaults to `true`.
145
+ */
146
+ readonly storeToken: pulumi.Output<boolean | undefined>;
147
+ /**
148
+ * The default sync mode to use for all mappers attached to this identity provider. Can be once of `IMPORT`, `FORCE`, or `LEGACY`.
149
+ */
150
+ readonly syncMode: pulumi.Output<string | undefined>;
151
+ /**
152
+ * When `true`, email addresses for users in this provider will automatically be verified regardless of the realm's email verification policy. Defaults to `false`.
153
+ */
154
+ readonly trustEmail: pulumi.Output<boolean | undefined>;
155
+ /**
156
+ * Create a FacebookIdentityProvider resource with the given unique name, arguments, and options.
157
+ *
158
+ * @param name The _unique_ name of the resource.
159
+ * @param args The arguments to use to populate this resource's properties.
160
+ * @param opts A bag of options that control this resource's behavior.
161
+ */
162
+ constructor(name: string, args: FacebookIdentityProviderArgs, opts?: pulumi.CustomResourceOptions);
163
+ }
164
+ /**
165
+ * Input properties used for looking up and filtering FacebookIdentityProvider resources.
166
+ */
167
+ export interface FacebookIdentityProviderState {
168
+ /**
169
+ * When `true`, unauthenticated requests with `prompt=none` will be forwarded to Google instead of returning an error. Defaults to `false`.
170
+ */
171
+ acceptsPromptNoneForwardFromClient?: pulumi.Input<boolean>;
172
+ /**
173
+ * When `true`, new users will be able to read stored tokens. This will automatically assign the `broker.read-token` role. Defaults to `false`.
174
+ */
175
+ addReadTokenRoleOnCreate?: pulumi.Input<boolean>;
176
+ /**
177
+ * The alias for the Facebook identity provider.
178
+ */
179
+ alias?: pulumi.Input<string>;
180
+ /**
181
+ * Enable/disable authenticate users by default.
182
+ */
183
+ authenticateByDefault?: pulumi.Input<boolean>;
184
+ /**
185
+ * The client or client identifier registered within the identity provider.
186
+ */
187
+ clientId?: pulumi.Input<string>;
188
+ /**
189
+ * The client or client secret registered within the identity provider. This field is able to obtain its value from vault, use $${vault.ID} format.
190
+ */
191
+ clientSecret?: pulumi.Input<string>;
192
+ /**
193
+ * The scopes to be sent when asking for authorization. It can be a space-separated list of scopes. Defaults to `openid profile email`.
194
+ */
195
+ defaultScopes?: pulumi.Input<string>;
196
+ /**
197
+ * When `true`, disables the usage of the user info service to obtain additional user information. Defaults to `false`.
198
+ */
199
+ disableUserInfo?: pulumi.Input<boolean>;
200
+ /**
201
+ * Display name for the Facebook identity provider in the GUI.
202
+ */
203
+ displayName?: pulumi.Input<string>;
204
+ /**
205
+ * When `true`, users will be able to log in to this realm using this identity provider. Defaults to `true`.
206
+ */
207
+ enabled?: pulumi.Input<boolean>;
208
+ extraConfig?: pulumi.Input<{
209
+ [key: string]: pulumi.Input<string>;
210
+ }>;
211
+ /**
212
+ * Provide additional fields which would be fetched using the profile request. This will be appended to the default set of `id,name,email,first_name,last_name`.
213
+ */
214
+ fetchedFields?: pulumi.Input<string>;
215
+ /**
216
+ * The authentication flow to use when users log in for the first time through this identity provider. Defaults to `first broker login`.
217
+ */
218
+ firstBrokerLoginFlowAlias?: pulumi.Input<string>;
219
+ /**
220
+ * A number defining the order of this identity provider in the GUI.
221
+ */
222
+ guiOrder?: pulumi.Input<string>;
223
+ /**
224
+ * When `true`, this identity provider will be hidden on the login page. Defaults to `false`.
225
+ */
226
+ hideOnLoginPage?: pulumi.Input<boolean>;
227
+ /**
228
+ * (Computed) The unique ID that Keycloak assigns to the identity provider upon creation.
229
+ */
230
+ internalId?: pulumi.Input<string>;
231
+ /**
232
+ * When `true`, users cannot sign-in using this provider, but their existing accounts will be linked when possible. Defaults to `false`.
233
+ */
234
+ linkOnly?: pulumi.Input<boolean>;
235
+ orgDomain?: pulumi.Input<string>;
236
+ orgRedirectModeEmailMatches?: pulumi.Input<boolean>;
237
+ /**
238
+ * ID of organization with which this identity is linked.
239
+ */
240
+ organizationId?: pulumi.Input<string>;
241
+ /**
242
+ * The authentication flow to use after users have successfully logged in, which can be used to perform additional user verification (such as OTP checking). Defaults to an empty string, which means no post login flow will be used.
243
+ */
244
+ postBrokerLoginFlowAlias?: pulumi.Input<string>;
245
+ /**
246
+ * The ID of the identity provider to use. Defaults to `facebook`, which should be used unless you have extended Keycloak and provided your own implementation.
247
+ */
248
+ providerId?: pulumi.Input<string>;
249
+ /**
250
+ * The name of the realm. This is unique across Keycloak.
251
+ */
252
+ realm?: pulumi.Input<string>;
253
+ /**
254
+ * When `true`, tokens will be stored after authenticating users. Defaults to `true`.
255
+ */
256
+ storeToken?: pulumi.Input<boolean>;
257
+ /**
258
+ * The default sync mode to use for all mappers attached to this identity provider. Can be once of `IMPORT`, `FORCE`, or `LEGACY`.
259
+ */
260
+ syncMode?: pulumi.Input<string>;
261
+ /**
262
+ * When `true`, email addresses for users in this provider will automatically be verified regardless of the realm's email verification policy. Defaults to `false`.
263
+ */
264
+ trustEmail?: pulumi.Input<boolean>;
265
+ }
266
+ /**
267
+ * The set of arguments for constructing a FacebookIdentityProvider resource.
268
+ */
269
+ export interface FacebookIdentityProviderArgs {
270
+ /**
271
+ * When `true`, unauthenticated requests with `prompt=none` will be forwarded to Google instead of returning an error. Defaults to `false`.
272
+ */
273
+ acceptsPromptNoneForwardFromClient?: pulumi.Input<boolean>;
274
+ /**
275
+ * When `true`, new users will be able to read stored tokens. This will automatically assign the `broker.read-token` role. Defaults to `false`.
276
+ */
277
+ addReadTokenRoleOnCreate?: pulumi.Input<boolean>;
278
+ /**
279
+ * The alias for the Facebook identity provider.
280
+ */
281
+ alias?: pulumi.Input<string>;
282
+ /**
283
+ * Enable/disable authenticate users by default.
284
+ */
285
+ authenticateByDefault?: pulumi.Input<boolean>;
286
+ /**
287
+ * The client or client identifier registered within the identity provider.
288
+ */
289
+ clientId: pulumi.Input<string>;
290
+ /**
291
+ * The client or client secret registered within the identity provider. This field is able to obtain its value from vault, use $${vault.ID} format.
292
+ */
293
+ clientSecret: pulumi.Input<string>;
294
+ /**
295
+ * The scopes to be sent when asking for authorization. It can be a space-separated list of scopes. Defaults to `openid profile email`.
296
+ */
297
+ defaultScopes?: pulumi.Input<string>;
298
+ /**
299
+ * When `true`, disables the usage of the user info service to obtain additional user information. Defaults to `false`.
300
+ */
301
+ disableUserInfo?: pulumi.Input<boolean>;
302
+ /**
303
+ * Display name for the Facebook identity provider in the GUI.
304
+ */
305
+ displayName?: pulumi.Input<string>;
306
+ /**
307
+ * When `true`, users will be able to log in to this realm using this identity provider. Defaults to `true`.
308
+ */
309
+ enabled?: pulumi.Input<boolean>;
310
+ extraConfig?: pulumi.Input<{
311
+ [key: string]: pulumi.Input<string>;
312
+ }>;
313
+ /**
314
+ * Provide additional fields which would be fetched using the profile request. This will be appended to the default set of `id,name,email,first_name,last_name`.
315
+ */
316
+ fetchedFields?: pulumi.Input<string>;
317
+ /**
318
+ * The authentication flow to use when users log in for the first time through this identity provider. Defaults to `first broker login`.
319
+ */
320
+ firstBrokerLoginFlowAlias?: pulumi.Input<string>;
321
+ /**
322
+ * A number defining the order of this identity provider in the GUI.
323
+ */
324
+ guiOrder?: pulumi.Input<string>;
325
+ /**
326
+ * When `true`, this identity provider will be hidden on the login page. Defaults to `false`.
327
+ */
328
+ hideOnLoginPage?: pulumi.Input<boolean>;
329
+ /**
330
+ * When `true`, users cannot sign-in using this provider, but their existing accounts will be linked when possible. Defaults to `false`.
331
+ */
332
+ linkOnly?: pulumi.Input<boolean>;
333
+ orgDomain?: pulumi.Input<string>;
334
+ orgRedirectModeEmailMatches?: pulumi.Input<boolean>;
335
+ /**
336
+ * ID of organization with which this identity is linked.
337
+ */
338
+ organizationId?: pulumi.Input<string>;
339
+ /**
340
+ * The authentication flow to use after users have successfully logged in, which can be used to perform additional user verification (such as OTP checking). Defaults to an empty string, which means no post login flow will be used.
341
+ */
342
+ postBrokerLoginFlowAlias?: pulumi.Input<string>;
343
+ /**
344
+ * The ID of the identity provider to use. Defaults to `facebook`, which should be used unless you have extended Keycloak and provided your own implementation.
345
+ */
346
+ providerId?: pulumi.Input<string>;
347
+ /**
348
+ * The name of the realm. This is unique across Keycloak.
349
+ */
350
+ realm: pulumi.Input<string>;
351
+ /**
352
+ * When `true`, tokens will be stored after authenticating users. Defaults to `true`.
353
+ */
354
+ storeToken?: pulumi.Input<boolean>;
355
+ /**
356
+ * The default sync mode to use for all mappers attached to this identity provider. Can be once of `IMPORT`, `FORCE`, or `LEGACY`.
357
+ */
358
+ syncMode?: pulumi.Input<string>;
359
+ /**
360
+ * When `true`, email addresses for users in this provider will automatically be verified regardless of the realm's email verification policy. Defaults to `false`.
361
+ */
362
+ trustEmail?: pulumi.Input<boolean>;
363
+ }
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.FacebookIdentityProvider = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * Allows for creating and managing OIDC Identity Providers within Keycloak.
10
+ *
11
+ * OIDC (OpenID Connect) identity providers allows users to authenticate through a third party system using the OIDC standard.
12
+ *
13
+ * ## Example Usage
14
+ *
15
+ * ```typescript
16
+ * import * as pulumi from "@pulumi/pulumi";
17
+ * import * as keycloak from "@pulumi/keycloak";
18
+ *
19
+ * const realm = new keycloak.Realm("realm", {
20
+ * realm: "my-realm",
21
+ * enabled: true,
22
+ * });
23
+ * const facebook = new keycloak.oidc.FacebookIdentityProvider("facebook", {
24
+ * realm: realm.id,
25
+ * clientId: facebookIdentityProviderClientId,
26
+ * clientSecret: facebookIdentityProviderClientSecret,
27
+ * trustEmail: true,
28
+ * fetchedFields: "picture",
29
+ * syncMode: "IMPORT",
30
+ * extraConfig: {
31
+ * myCustomConfigKey: "myValue",
32
+ * },
33
+ * });
34
+ * ```
35
+ *
36
+ * ## Import
37
+ *
38
+ * Facebook Identity providers can be imported using the format {{realm_id}}/{{idp_alias}}, where idp_alias is the identity provider alias.
39
+ *
40
+ * Example:
41
+ *
42
+ * bash
43
+ *
44
+ * ```sh
45
+ * $ pulumi import keycloak:oidc/facebookIdentityProvider:FacebookIdentityProvider facebook_identity_provider my-realm/my-facebook-idp
46
+ * ```
47
+ */
48
+ class FacebookIdentityProvider extends pulumi.CustomResource {
49
+ /**
50
+ * Get an existing FacebookIdentityProvider resource's state with the given name, ID, and optional extra
51
+ * properties used to qualify the lookup.
52
+ *
53
+ * @param name The _unique_ name of the resulting resource.
54
+ * @param id The _unique_ provider ID of the resource to lookup.
55
+ * @param state Any extra arguments used during the lookup.
56
+ * @param opts Optional settings to control the behavior of the CustomResource.
57
+ */
58
+ static get(name, id, state, opts) {
59
+ return new FacebookIdentityProvider(name, state, { ...opts, id: id });
60
+ }
61
+ /**
62
+ * Returns true if the given object is an instance of FacebookIdentityProvider. This is designed to work even
63
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
64
+ */
65
+ static isInstance(obj) {
66
+ if (obj === undefined || obj === null) {
67
+ return false;
68
+ }
69
+ return obj['__pulumiType'] === FacebookIdentityProvider.__pulumiType;
70
+ }
71
+ constructor(name, argsOrState, opts) {
72
+ let resourceInputs = {};
73
+ opts = opts || {};
74
+ if (opts.id) {
75
+ const state = argsOrState;
76
+ resourceInputs["acceptsPromptNoneForwardFromClient"] = state?.acceptsPromptNoneForwardFromClient;
77
+ resourceInputs["addReadTokenRoleOnCreate"] = state?.addReadTokenRoleOnCreate;
78
+ resourceInputs["alias"] = state?.alias;
79
+ resourceInputs["authenticateByDefault"] = state?.authenticateByDefault;
80
+ resourceInputs["clientId"] = state?.clientId;
81
+ resourceInputs["clientSecret"] = state?.clientSecret;
82
+ resourceInputs["defaultScopes"] = state?.defaultScopes;
83
+ resourceInputs["disableUserInfo"] = state?.disableUserInfo;
84
+ resourceInputs["displayName"] = state?.displayName;
85
+ resourceInputs["enabled"] = state?.enabled;
86
+ resourceInputs["extraConfig"] = state?.extraConfig;
87
+ resourceInputs["fetchedFields"] = state?.fetchedFields;
88
+ resourceInputs["firstBrokerLoginFlowAlias"] = state?.firstBrokerLoginFlowAlias;
89
+ resourceInputs["guiOrder"] = state?.guiOrder;
90
+ resourceInputs["hideOnLoginPage"] = state?.hideOnLoginPage;
91
+ resourceInputs["internalId"] = state?.internalId;
92
+ resourceInputs["linkOnly"] = state?.linkOnly;
93
+ resourceInputs["orgDomain"] = state?.orgDomain;
94
+ resourceInputs["orgRedirectModeEmailMatches"] = state?.orgRedirectModeEmailMatches;
95
+ resourceInputs["organizationId"] = state?.organizationId;
96
+ resourceInputs["postBrokerLoginFlowAlias"] = state?.postBrokerLoginFlowAlias;
97
+ resourceInputs["providerId"] = state?.providerId;
98
+ resourceInputs["realm"] = state?.realm;
99
+ resourceInputs["storeToken"] = state?.storeToken;
100
+ resourceInputs["syncMode"] = state?.syncMode;
101
+ resourceInputs["trustEmail"] = state?.trustEmail;
102
+ }
103
+ else {
104
+ const args = argsOrState;
105
+ if (args?.clientId === undefined && !opts.urn) {
106
+ throw new Error("Missing required property 'clientId'");
107
+ }
108
+ if (args?.clientSecret === undefined && !opts.urn) {
109
+ throw new Error("Missing required property 'clientSecret'");
110
+ }
111
+ if (args?.realm === undefined && !opts.urn) {
112
+ throw new Error("Missing required property 'realm'");
113
+ }
114
+ resourceInputs["acceptsPromptNoneForwardFromClient"] = args?.acceptsPromptNoneForwardFromClient;
115
+ resourceInputs["addReadTokenRoleOnCreate"] = args?.addReadTokenRoleOnCreate;
116
+ resourceInputs["alias"] = args?.alias;
117
+ resourceInputs["authenticateByDefault"] = args?.authenticateByDefault;
118
+ resourceInputs["clientId"] = args?.clientId;
119
+ resourceInputs["clientSecret"] = args?.clientSecret ? pulumi.secret(args.clientSecret) : undefined;
120
+ resourceInputs["defaultScopes"] = args?.defaultScopes;
121
+ resourceInputs["disableUserInfo"] = args?.disableUserInfo;
122
+ resourceInputs["displayName"] = args?.displayName;
123
+ resourceInputs["enabled"] = args?.enabled;
124
+ resourceInputs["extraConfig"] = args?.extraConfig;
125
+ resourceInputs["fetchedFields"] = args?.fetchedFields;
126
+ resourceInputs["firstBrokerLoginFlowAlias"] = args?.firstBrokerLoginFlowAlias;
127
+ resourceInputs["guiOrder"] = args?.guiOrder;
128
+ resourceInputs["hideOnLoginPage"] = args?.hideOnLoginPage;
129
+ resourceInputs["linkOnly"] = args?.linkOnly;
130
+ resourceInputs["orgDomain"] = args?.orgDomain;
131
+ resourceInputs["orgRedirectModeEmailMatches"] = args?.orgRedirectModeEmailMatches;
132
+ resourceInputs["organizationId"] = args?.organizationId;
133
+ resourceInputs["postBrokerLoginFlowAlias"] = args?.postBrokerLoginFlowAlias;
134
+ resourceInputs["providerId"] = args?.providerId;
135
+ resourceInputs["realm"] = args?.realm;
136
+ resourceInputs["storeToken"] = args?.storeToken;
137
+ resourceInputs["syncMode"] = args?.syncMode;
138
+ resourceInputs["trustEmail"] = args?.trustEmail;
139
+ resourceInputs["internalId"] = undefined /*out*/;
140
+ }
141
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
142
+ const secretOpts = { additionalSecretOutputs: ["clientSecret"] };
143
+ opts = pulumi.mergeOptions(opts, secretOpts);
144
+ super(FacebookIdentityProvider.__pulumiType, name, resourceInputs, opts);
145
+ }
146
+ }
147
+ exports.FacebookIdentityProvider = FacebookIdentityProvider;
148
+ /** @internal */
149
+ FacebookIdentityProvider.__pulumiType = 'keycloak:oidc/facebookIdentityProvider:FacebookIdentityProvider';
150
+ //# sourceMappingURL=facebookIdentityProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"facebookIdentityProvider.js","sourceRoot":"","sources":["../../oidc/facebookIdentityProvider.ts"],"names":[],"mappings":"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"}
package/oidc/index.d.ts CHANGED
@@ -1,3 +1,6 @@
1
+ export { FacebookIdentityProviderArgs, FacebookIdentityProviderState } from "./facebookIdentityProvider";
2
+ export type FacebookIdentityProvider = import("./facebookIdentityProvider").FacebookIdentityProvider;
3
+ export declare const FacebookIdentityProvider: typeof import("./facebookIdentityProvider").FacebookIdentityProvider;
1
4
  export { GithubIdentityProviderArgs, GithubIdentityProviderState } from "./githubIdentityProvider";
2
5
  export type GithubIdentityProvider = import("./githubIdentityProvider").GithubIdentityProvider;
3
6
  export declare const GithubIdentityProvider: typeof import("./githubIdentityProvider").GithubIdentityProvider;
package/oidc/index.js CHANGED
@@ -2,9 +2,11 @@
2
2
  // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
3
  // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.IdentityProvider = exports.GoogleIdentityProvider = exports.GithubIdentityProvider = void 0;
5
+ exports.IdentityProvider = exports.GoogleIdentityProvider = exports.GithubIdentityProvider = exports.FacebookIdentityProvider = void 0;
6
6
  const pulumi = require("@pulumi/pulumi");
7
7
  const utilities = require("../utilities");
8
+ exports.FacebookIdentityProvider = null;
9
+ utilities.lazyLoad(exports, ["FacebookIdentityProvider"], () => require("./facebookIdentityProvider"));
8
10
  exports.GithubIdentityProvider = null;
9
11
  utilities.lazyLoad(exports, ["GithubIdentityProvider"], () => require("./githubIdentityProvider"));
10
12
  exports.GoogleIdentityProvider = null;
@@ -15,6 +17,8 @@ const _module = {
15
17
  version: utilities.getVersion(),
16
18
  construct: (name, type, urn) => {
17
19
  switch (type) {
20
+ case "keycloak:oidc/facebookIdentityProvider:FacebookIdentityProvider":
21
+ return new exports.FacebookIdentityProvider(name, undefined, { urn });
18
22
  case "keycloak:oidc/githubIdentityProvider:GithubIdentityProvider":
19
23
  return new exports.GithubIdentityProvider(name, undefined, { urn });
20
24
  case "keycloak:oidc/googleIdentityProvider:GoogleIdentityProvider":
@@ -26,6 +30,7 @@ const _module = {
26
30
  }
27
31
  },
28
32
  };
33
+ pulumi.runtime.registerResourceModule("keycloak", "oidc/facebookIdentityProvider", _module);
29
34
  pulumi.runtime.registerResourceModule("keycloak", "oidc/githubIdentityProvider", _module);
30
35
  pulumi.runtime.registerResourceModule("keycloak", "oidc/googleIdentityProvider", _module);
31
36
  pulumi.runtime.registerResourceModule("keycloak", "oidc/identityProvider", _module);
package/oidc/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../oidc/index.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAK7B,QAAA,sBAAsB,GAAqE,IAAW,CAAC;AACpH,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,wBAAwB,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC;AAItF,QAAA,sBAAsB,GAAqE,IAAW,CAAC;AACpH,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,wBAAwB,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC;AAItF,QAAA,gBAAgB,GAAyD,IAAW,CAAC;AAClG,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAGvF,MAAM,OAAO,GAAG;IACZ,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE;IAC/B,SAAS,EAAE,CAAC,IAAY,EAAE,IAAY,EAAE,GAAW,EAAmB,EAAE;QACpE,QAAQ,IAAI,EAAE;YACV,KAAK,6DAA6D;gBAC9D,OAAO,IAAI,8BAAsB,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACpE,KAAK,6DAA6D;gBAC9D,OAAO,IAAI,8BAAsB,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACpE,KAAK,iDAAiD;gBAClD,OAAO,IAAI,wBAAgB,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YAC9D;gBACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;SACxD;IACL,CAAC;CACJ,CAAC;AACF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,6BAA6B,EAAE,OAAO,CAAC,CAAA;AACzF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,6BAA6B,EAAE,OAAO,CAAC,CAAA;AACzF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,uBAAuB,EAAE,OAAO,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../oidc/index.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAK7B,QAAA,wBAAwB,GAAyE,IAAW,CAAC;AAC1H,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,0BAA0B,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,CAAC;AAI1F,QAAA,sBAAsB,GAAqE,IAAW,CAAC;AACpH,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,wBAAwB,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC;AAItF,QAAA,sBAAsB,GAAqE,IAAW,CAAC;AACpH,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,wBAAwB,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC;AAItF,QAAA,gBAAgB,GAAyD,IAAW,CAAC;AAClG,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAGvF,MAAM,OAAO,GAAG;IACZ,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE;IAC/B,SAAS,EAAE,CAAC,IAAY,EAAE,IAAY,EAAE,GAAW,EAAmB,EAAE;QACpE,QAAQ,IAAI,EAAE;YACV,KAAK,iEAAiE;gBAClE,OAAO,IAAI,gCAAwB,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACtE,KAAK,6DAA6D;gBAC9D,OAAO,IAAI,8BAAsB,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACpE,KAAK,6DAA6D;gBAC9D,OAAO,IAAI,8BAAsB,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACpE,KAAK,iDAAiD;gBAClD,OAAO,IAAI,wBAAgB,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YAC9D;gBACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;SACxD;IACL,CAAC;CACJ,CAAC;AACF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,+BAA+B,EAAE,OAAO,CAAC,CAAA;AAC3F,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,6BAA6B,EAAE,OAAO,CAAC,CAAA;AACzF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,6BAA6B,EAAE,OAAO,CAAC,CAAA;AACzF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,uBAAuB,EAAE,OAAO,CAAC,CAAA"}
@@ -202,7 +202,7 @@ export declare class Client extends pulumi.CustomResource {
202
202
  /**
203
203
  * The description of this client in the GUI.
204
204
  */
205
- readonly description: pulumi.Output<string>;
205
+ readonly description: pulumi.Output<string | undefined>;
206
206
  /**
207
207
  * When `true`, the OAuth2 Resource Owner Password Grant will be enabled for this client. Defaults to `false`.
208
208
  */
@@ -274,6 +274,10 @@ export declare class Client extends pulumi.CustomResource {
274
274
  * The realm this client is attached to.
275
275
  */
276
276
  readonly realmId: pulumi.Output<string>;
277
+ /**
278
+ * Enable support for Demonstrating Proof-of-Possession (DPoP) bound tokens.
279
+ */
280
+ readonly requireDpopBoundTokens: pulumi.Output<boolean>;
277
281
  /**
278
282
  * (Computed) When authorization is enabled for this client, this attribute is the unique ID for the client (the same value as the `.id` attribute).
279
283
  */
@@ -512,6 +516,10 @@ export interface ClientState {
512
516
  * The realm this client is attached to.
513
517
  */
514
518
  realmId?: pulumi.Input<string>;
519
+ /**
520
+ * Enable support for Demonstrating Proof-of-Possession (DPoP) bound tokens.
521
+ */
522
+ requireDpopBoundTokens?: pulumi.Input<boolean>;
515
523
  /**
516
524
  * (Computed) When authorization is enabled for this client, this attribute is the unique ID for the client (the same value as the `.id` attribute).
517
525
  */
@@ -742,6 +750,10 @@ export interface ClientArgs {
742
750
  * The realm this client is attached to.
743
751
  */
744
752
  realmId: pulumi.Input<string>;
753
+ /**
754
+ * Enable support for Demonstrating Proof-of-Possession (DPoP) bound tokens.
755
+ */
756
+ requireDpopBoundTokens?: pulumi.Input<boolean>;
745
757
  /**
746
758
  * When specified, this URL is prepended to any relative URLs found within `validRedirectUris`, `webOrigins`, and `adminUrl`. NOTE: Due to limitations in the Keycloak API, when the `rootUrl` attribute is used, the `validRedirectUris`, `webOrigins`, and `adminUrl` attributes will be required.
747
759
  */
package/openid/client.js CHANGED
@@ -153,6 +153,7 @@ class Client extends pulumi.CustomResource {
153
153
  resourceInputs["oauth2DevicePollingInterval"] = state?.oauth2DevicePollingInterval;
154
154
  resourceInputs["pkceCodeChallengeMethod"] = state?.pkceCodeChallengeMethod;
155
155
  resourceInputs["realmId"] = state?.realmId;
156
+ resourceInputs["requireDpopBoundTokens"] = state?.requireDpopBoundTokens;
156
157
  resourceInputs["resourceServerId"] = state?.resourceServerId;
157
158
  resourceInputs["rootUrl"] = state?.rootUrl;
158
159
  resourceInputs["serviceAccountUserId"] = state?.serviceAccountUserId;
@@ -215,6 +216,7 @@ class Client extends pulumi.CustomResource {
215
216
  resourceInputs["oauth2DevicePollingInterval"] = args?.oauth2DevicePollingInterval;
216
217
  resourceInputs["pkceCodeChallengeMethod"] = args?.pkceCodeChallengeMethod;
217
218
  resourceInputs["realmId"] = args?.realmId;
219
+ resourceInputs["requireDpopBoundTokens"] = args?.requireDpopBoundTokens;
218
220
  resourceInputs["rootUrl"] = args?.rootUrl;
219
221
  resourceInputs["serviceAccountsEnabled"] = args?.serviceAccountsEnabled;
220
222
  resourceInputs["standardFlowEnabled"] = args?.standardFlowEnabled;