@pulumi/keycloak 5.3.0 → 5.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 (276) hide show
  1. package/attributeImporterIdentityProviderMapper.d.ts +45 -63
  2. package/attributeImporterIdentityProviderMapper.js +24 -33
  3. package/attributeImporterIdentityProviderMapper.js.map +1 -1
  4. package/attributeToRoleIdentityMapper.d.ts +14 -6
  5. package/attributeToRoleIdentityMapper.js +14 -6
  6. package/attributeToRoleIdentityMapper.js.map +1 -1
  7. package/authentication/bindings.d.ts +3 -3
  8. package/authentication/bindings.js +3 -3
  9. package/authentication/execution.d.ts +8 -4
  10. package/authentication/execution.js +8 -4
  11. package/authentication/execution.js.map +1 -1
  12. package/authentication/executionConfig.d.ts +10 -2
  13. package/authentication/executionConfig.js +10 -2
  14. package/authentication/executionConfig.js.map +1 -1
  15. package/authentication/flow.d.ts +14 -2
  16. package/authentication/flow.js +14 -2
  17. package/authentication/flow.js.map +1 -1
  18. package/authentication/subflow.d.ts +16 -2
  19. package/authentication/subflow.js +16 -2
  20. package/authentication/subflow.js.map +1 -1
  21. package/customIdentityProviderMapping.d.ts +12 -5
  22. package/customIdentityProviderMapping.js +12 -5
  23. package/customIdentityProviderMapping.js.map +1 -1
  24. package/customUserFederation.d.ts +48 -48
  25. package/customUserFederation.js +24 -12
  26. package/customUserFederation.js.map +1 -1
  27. package/defaultGroups.d.ts +19 -26
  28. package/defaultGroups.js +19 -8
  29. package/defaultGroups.js.map +1 -1
  30. package/defaultRoles.d.ts +12 -3
  31. package/defaultRoles.js +12 -3
  32. package/defaultRoles.js.map +1 -1
  33. package/genericClientProtocolMapper.d.ts +36 -34
  34. package/genericClientProtocolMapper.js +21 -10
  35. package/genericClientProtocolMapper.js.map +1 -1
  36. package/genericClientRoleMapper.d.ts +42 -15
  37. package/genericClientRoleMapper.js +42 -15
  38. package/genericClientRoleMapper.js.map +1 -1
  39. package/genericProtocolMapper.d.ts +9 -4
  40. package/genericProtocolMapper.js +9 -4
  41. package/genericProtocolMapper.js.map +1 -1
  42. package/genericRoleMapper.d.ts +42 -15
  43. package/genericRoleMapper.js +42 -15
  44. package/genericRoleMapper.js.map +1 -1
  45. package/getClientDescriptionConverter.d.ts +50 -50
  46. package/getClientDescriptionConverter.js +50 -50
  47. package/getGroup.d.ts +4 -62
  48. package/getGroup.js +4 -50
  49. package/getGroup.js.map +1 -1
  50. package/getRealm.d.ts +36 -10
  51. package/getRealm.js +36 -4
  52. package/getRealm.js.map +1 -1
  53. package/getRealmKeys.d.ts +8 -28
  54. package/getRealmKeys.js +8 -4
  55. package/getRealmKeys.js.map +1 -1
  56. package/getRole.d.ts +4 -65
  57. package/getRole.js +4 -44
  58. package/getRole.js.map +1 -1
  59. package/getUser.d.ts +2 -0
  60. package/getUser.js +2 -0
  61. package/getUser.js.map +1 -1
  62. package/getUserRealmRoles.d.ts +4 -0
  63. package/getUserRealmRoles.js +4 -0
  64. package/getUserRealmRoles.js.map +1 -1
  65. package/group.d.ts +37 -57
  66. package/group.js +37 -15
  67. package/group.js.map +1 -1
  68. package/groupMemberships.d.ts +28 -43
  69. package/groupMemberships.js +28 -16
  70. package/groupMemberships.js.map +1 -1
  71. package/groupPermissions.d.ts +13 -0
  72. package/groupPermissions.js +13 -0
  73. package/groupPermissions.js.map +1 -1
  74. package/groupRoles.d.ts +35 -90
  75. package/groupRoles.js +35 -54
  76. package/groupRoles.js.map +1 -1
  77. package/hardcodedAttributeIdentityProviderMapper.d.ts +4 -3
  78. package/hardcodedAttributeIdentityProviderMapper.js +4 -3
  79. package/hardcodedAttributeIdentityProviderMapper.js.map +1 -1
  80. package/hardcodedRoleIdentityMapper.d.ts +6 -4
  81. package/hardcodedRoleIdentityMapper.js +6 -4
  82. package/hardcodedRoleIdentityMapper.js.map +1 -1
  83. package/identityProviderTokenExchangeScopePermission.d.ts +13 -6
  84. package/identityProviderTokenExchangeScopePermission.js +13 -6
  85. package/identityProviderTokenExchangeScopePermission.js.map +1 -1
  86. package/ldap/customMapper.d.ts +14 -6
  87. package/ldap/customMapper.js +14 -6
  88. package/ldap/customMapper.js.map +1 -1
  89. package/ldap/fullNameMapper.d.ts +35 -48
  90. package/ldap/fullNameMapper.js +26 -12
  91. package/ldap/fullNameMapper.js.map +1 -1
  92. package/ldap/groupMapper.d.ts +47 -156
  93. package/ldap/groupMapper.js +38 -12
  94. package/ldap/groupMapper.js.map +1 -1
  95. package/ldap/hardcodedAttributeMapper.d.ts +12 -4
  96. package/ldap/hardcodedAttributeMapper.js +12 -4
  97. package/ldap/hardcodedAttributeMapper.js.map +1 -1
  98. package/ldap/hardcodedGroupMapper.d.ts +16 -5
  99. package/ldap/hardcodedGroupMapper.js +16 -5
  100. package/ldap/hardcodedGroupMapper.js.map +1 -1
  101. package/ldap/hardcodedRoleMapper.d.ts +31 -66
  102. package/ldap/hardcodedRoleMapper.js +19 -54
  103. package/ldap/hardcodedRoleMapper.js.map +1 -1
  104. package/ldap/msadLdsUserAccountControlMapper.d.ts +12 -4
  105. package/ldap/msadLdsUserAccountControlMapper.js +12 -4
  106. package/ldap/msadLdsUserAccountControlMapper.js.map +1 -1
  107. package/ldap/msadUserAccountControlMapper.d.ts +29 -27
  108. package/ldap/msadUserAccountControlMapper.js +20 -9
  109. package/ldap/msadUserAccountControlMapper.js.map +1 -1
  110. package/ldap/roleMapper.d.ts +12 -4
  111. package/ldap/roleMapper.js +12 -4
  112. package/ldap/roleMapper.js.map +1 -1
  113. package/ldap/userAttributeMapper.d.ts +54 -39
  114. package/ldap/userAttributeMapper.js +24 -9
  115. package/ldap/userAttributeMapper.js.map +1 -1
  116. package/ldap/userFederation.d.ts +117 -88
  117. package/ldap/userFederation.js +45 -13
  118. package/ldap/userFederation.js.map +1 -1
  119. package/oidc/googleIdentityProvider.d.ts +8 -4
  120. package/oidc/googleIdentityProvider.js +8 -4
  121. package/oidc/googleIdentityProvider.js.map +1 -1
  122. package/oidc/identityProvider.d.ts +7 -3
  123. package/oidc/identityProvider.js +7 -3
  124. package/oidc/identityProvider.js.map +1 -1
  125. package/openid/audienceProtocolMapper.d.ts +62 -43
  126. package/openid/audienceProtocolMapper.js +38 -19
  127. package/openid/audienceProtocolMapper.js.map +1 -1
  128. package/openid/audienceResolveProtocolMapper.d.ts +22 -7
  129. package/openid/audienceResolveProtocolMapper.js +22 -7
  130. package/openid/audienceResolveProtocolMapper.js.map +1 -1
  131. package/openid/audienceResolveProtocolMappter.d.ts +22 -7
  132. package/openid/audienceResolveProtocolMappter.js +22 -7
  133. package/openid/audienceResolveProtocolMappter.js.map +1 -1
  134. package/openid/client.d.ts +45 -429
  135. package/openid/client.js +45 -12
  136. package/openid/client.js.map +1 -1
  137. package/openid/clientAuthorizationPermission.d.ts +6 -2
  138. package/openid/clientAuthorizationPermission.js +6 -2
  139. package/openid/clientAuthorizationPermission.js.map +1 -1
  140. package/openid/clientDefaultScopes.d.ts +16 -31
  141. package/openid/clientDefaultScopes.js +16 -4
  142. package/openid/clientDefaultScopes.js.map +1 -1
  143. package/openid/clientOptionalScopes.d.ts +16 -32
  144. package/openid/clientOptionalScopes.js +16 -5
  145. package/openid/clientOptionalScopes.js.map +1 -1
  146. package/openid/clientPolicy.d.ts +5 -3
  147. package/openid/clientPolicy.js +5 -3
  148. package/openid/clientPolicy.js.map +1 -1
  149. package/openid/clientScope.d.ts +25 -66
  150. package/openid/clientScope.js +25 -12
  151. package/openid/clientScope.js.map +1 -1
  152. package/openid/clientServiceAccountRealmRole.d.ts +12 -4
  153. package/openid/clientServiceAccountRealmRole.js +12 -4
  154. package/openid/clientServiceAccountRealmRole.js.map +1 -1
  155. package/openid/clientServiceAccountRole.d.ts +14 -5
  156. package/openid/clientServiceAccountRole.js +14 -5
  157. package/openid/clientServiceAccountRole.js.map +1 -1
  158. package/openid/fullNameProtocolMapper.d.ts +49 -59
  159. package/openid/fullNameProtocolMapper.js +37 -20
  160. package/openid/fullNameProtocolMapper.js.map +1 -1
  161. package/openid/getClient.d.ts +30 -14
  162. package/openid/getClient.js +30 -2
  163. package/openid/getClient.js.map +1 -1
  164. package/openid/getClientAuthorizationPolicy.d.ts +8 -2
  165. package/openid/getClientAuthorizationPolicy.js +8 -2
  166. package/openid/getClientAuthorizationPolicy.js.map +1 -1
  167. package/openid/getClientScope.d.ts +4 -2
  168. package/openid/getClientScope.js +4 -2
  169. package/openid/getClientScope.js.map +1 -1
  170. package/openid/getClientServiceAccountUser.d.ts +4 -2
  171. package/openid/getClientServiceAccountUser.js +4 -2
  172. package/openid/getClientServiceAccountUser.js.map +1 -1
  173. package/openid/groupMembershipProtocolMapper.d.ts +51 -77
  174. package/openid/groupMembershipProtocolMapper.js +39 -20
  175. package/openid/groupMembershipProtocolMapper.js.map +1 -1
  176. package/openid/hardcodedClaimProtocolMapper.d.ts +64 -62
  177. package/openid/hardcodedClaimProtocolMapper.js +40 -20
  178. package/openid/hardcodedClaimProtocolMapper.js.map +1 -1
  179. package/openid/hardcodedRoleProtocolMapper.d.ts +56 -43
  180. package/openid/hardcodedRoleProtocolMapper.js +44 -22
  181. package/openid/hardcodedRoleProtocolMapper.js.map +1 -1
  182. package/openid/scriptProtocolMapper.d.ts +23 -7
  183. package/openid/scriptProtocolMapper.js +23 -7
  184. package/openid/scriptProtocolMapper.js.map +1 -1
  185. package/openid/userAttributeProtocolMapper.d.ts +71 -68
  186. package/openid/userAttributeProtocolMapper.js +41 -20
  187. package/openid/userAttributeProtocolMapper.js.map +1 -1
  188. package/openid/userClientRoleProtocolMapper.d.ts +23 -7
  189. package/openid/userClientRoleProtocolMapper.js +23 -7
  190. package/openid/userClientRoleProtocolMapper.js.map +1 -1
  191. package/openid/userPropertyProtocolMapper.d.ts +64 -63
  192. package/openid/userPropertyProtocolMapper.js +40 -21
  193. package/openid/userPropertyProtocolMapper.js.map +1 -1
  194. package/openid/userRealmRoleProtocolMapper.d.ts +71 -59
  195. package/openid/userRealmRoleProtocolMapper.js +41 -20
  196. package/openid/userRealmRoleProtocolMapper.js.map +1 -1
  197. package/openid/userSessionNoteProtocolMapper.d.ts +23 -7
  198. package/openid/userSessionNoteProtocolMapper.js +23 -7
  199. package/openid/userSessionNoteProtocolMapper.js.map +1 -1
  200. package/package.json +1 -1
  201. package/realm.d.ts +30 -509
  202. package/realm.js +0 -83
  203. package/realm.js.map +1 -1
  204. package/realmEvents.d.ts +15 -71
  205. package/realmEvents.js +15 -8
  206. package/realmEvents.js.map +1 -1
  207. package/realmKeystoreAesGenerated.d.ts +8 -3
  208. package/realmKeystoreAesGenerated.js +8 -3
  209. package/realmKeystoreAesGenerated.js.map +1 -1
  210. package/realmKeystoreEcdsaGenerated.d.ts +8 -3
  211. package/realmKeystoreEcdsaGenerated.js +8 -3
  212. package/realmKeystoreEcdsaGenerated.js.map +1 -1
  213. package/realmKeystoreHmacGenerated.d.ts +8 -3
  214. package/realmKeystoreHmacGenerated.js +8 -3
  215. package/realmKeystoreHmacGenerated.js.map +1 -1
  216. package/realmKeystoreJavaGenerated.d.ts +8 -3
  217. package/realmKeystoreJavaGenerated.js +8 -3
  218. package/realmKeystoreJavaGenerated.js.map +1 -1
  219. package/realmKeystoreRsa.d.ts +6 -2
  220. package/realmKeystoreRsa.js +6 -2
  221. package/realmKeystoreRsa.js.map +1 -1
  222. package/realmKeystoreRsaGenerated.d.ts +8 -3
  223. package/realmKeystoreRsaGenerated.js +8 -3
  224. package/realmKeystoreRsaGenerated.js.map +1 -1
  225. package/realmUserProfile.d.ts +1 -1
  226. package/realmUserProfile.js +1 -1
  227. package/requiredAction.d.ts +8 -3
  228. package/requiredAction.js +8 -3
  229. package/requiredAction.js.map +1 -1
  230. package/role.d.ts +57 -110
  231. package/role.js +57 -56
  232. package/role.js.map +1 -1
  233. package/saml/client.d.ts +9 -344
  234. package/saml/client.js +9 -29
  235. package/saml/client.js.map +1 -1
  236. package/saml/clientDefaultScope.d.ts +0 -33
  237. package/saml/clientDefaultScope.js +0 -33
  238. package/saml/clientDefaultScope.js.map +1 -1
  239. package/saml/clientScope.d.ts +10 -3
  240. package/saml/clientScope.js +10 -3
  241. package/saml/clientScope.js.map +1 -1
  242. package/saml/getClient.d.ts +2 -0
  243. package/saml/getClient.js +2 -0
  244. package/saml/getClient.js.map +1 -1
  245. package/saml/getClientInstallationProvider.d.ts +0 -62
  246. package/saml/getClientInstallationProvider.js +0 -62
  247. package/saml/getClientInstallationProvider.js.map +1 -1
  248. package/saml/identityProvider.d.ts +155 -111
  249. package/saml/identityProvider.js +44 -15
  250. package/saml/identityProvider.js.map +1 -1
  251. package/saml/scriptProtocolMapper.d.ts +15 -5
  252. package/saml/scriptProtocolMapper.js +15 -5
  253. package/saml/scriptProtocolMapper.js.map +1 -1
  254. package/saml/userAttributeProtocolMapper.d.ts +32 -91
  255. package/saml/userAttributeProtocolMapper.js +32 -19
  256. package/saml/userAttributeProtocolMapper.js.map +1 -1
  257. package/saml/userPropertyProtocolMapper.d.ts +32 -91
  258. package/saml/userPropertyProtocolMapper.js +32 -19
  259. package/saml/userPropertyProtocolMapper.js.map +1 -1
  260. package/types/input.d.ts +74 -231
  261. package/types/output.d.ts +44 -255
  262. package/user.d.ts +26 -104
  263. package/user.js +26 -14
  264. package/user.js.map +1 -1
  265. package/userGroups.d.ts +5 -33
  266. package/userGroups.js +5 -33
  267. package/userGroups.js.map +1 -1
  268. package/userRoles.d.ts +16 -6
  269. package/userRoles.js +16 -6
  270. package/userRoles.js.map +1 -1
  271. package/userTemplateImporterIdentityProviderMapper.d.ts +10 -3
  272. package/userTemplateImporterIdentityProviderMapper.js +10 -3
  273. package/userTemplateImporterIdentityProviderMapper.js.map +1 -1
  274. package/usersPermissions.d.ts +10 -25
  275. package/usersPermissions.js +10 -25
  276. package/usersPermissions.js.map +1 -1
@@ -2,13 +2,15 @@ import * as pulumi from "@pulumi/pulumi";
2
2
  import * as inputs from "../types/input";
3
3
  import * as outputs from "../types/output";
4
4
  /**
5
+ * ## # keycloak.openid.Client
6
+ *
5
7
  * Allows for creating and managing Keycloak clients that use the OpenID Connect protocol.
6
8
  *
7
9
  * Clients are entities that can use Keycloak for user authentication. Typically,
8
10
  * clients are applications that redirect users to Keycloak for authentication
9
11
  * in order to take advantage of Keycloak's user sessions for SSO.
10
12
  *
11
- * ## Example Usage
13
+ * ### Example Usage
12
14
  *
13
15
  * ```typescript
14
16
  * import * as pulumi from "@pulumi/pulumi";
@@ -18,27 +20,58 @@ import * as outputs from "../types/output";
18
20
  * realm: "my-realm",
19
21
  * enabled: true,
20
22
  * });
21
- * const openidClient = new keycloak.openid.Client("openidClient", {
23
+ * const openidClient = new keycloak.openid.Client("openid_client", {
22
24
  * realmId: realm.id,
23
25
  * clientId: "test-client",
26
+ * name: "test client",
24
27
  * enabled: true,
25
28
  * accessType: "CONFIDENTIAL",
26
29
  * validRedirectUris: ["http://localhost:8080/openid-callback"],
27
- * loginTheme: "keycloak",
28
- * extraConfig: {
29
- * key1: "value1",
30
- * key2: "value2",
31
- * },
32
30
  * });
33
31
  * ```
34
32
  *
35
- * ## Import
33
+ * ### Argument Reference
36
34
  *
37
- * Clients can be imported using the format `{{realm_id}}/{{client_keycloak_id}}`, where `client_keycloak_id` is the unique ID that Keycloak assigns to the client upon creation. This value can be found in the URI when editing this client in the GUI, and is typically a GUID. Examplebash
35
+ * The following arguments are supported:
38
36
  *
39
- * ```sh
40
- * $ pulumi import keycloak:openid/client:Client openid_client my-realm/dcbc4c73-e478-4928-ae2e-d5e420223352
41
- * ```
37
+ * - `realmId` - (Required) The realm this client is attached to.
38
+ * - `clientId` - (Required) The unique ID of this client, referenced in the URI during authentication and in issued tokens.
39
+ * - `name` - (Optional) The display name of this client in the GUI.
40
+ * - `enabled` - (Optional) When false, this client will not be able to initiate a login or obtain access tokens. Defaults to `true`.
41
+ * - `description` - (Optional) The description of this client in the GUI.
42
+ * - `accessType` - (Required) Specifies the type of client, which can be one of the following:
43
+ * - `CONFIDENTIAL` - Used for server-side clients that require both client ID and secret when authenticating.
44
+ * This client should be used for applications using the Authorization Code or Client Credentials grant flows.
45
+ * - `PUBLIC` - Used for browser-only applications that do not require a client secret, and instead rely only on authorized redirect
46
+ * URIs for security. This client should be used for applications using the Implicit grant flow.
47
+ * - `BEARER-ONLY` - Used for services that never initiate a login. This client will only allow bearer token requests.
48
+ * - `clientSecret` - (Optional) The secret for clients with an `accessType` of `CONFIDENTIAL` or `BEARER-ONLY`. This value is sensitive and
49
+ * should be treated with the same care as a password. If omitted, Keycloak will generate a GUID for this attribute.
50
+ * - `standardFlowEnabled` - (Optional) When `true`, the OAuth2 Authorization Code Grant will be enabled for this client. Defaults to `false`.
51
+ * - `implicitFlowEnabled` - (Optional) When `true`, the OAuth2 Implicit Grant will be enabled for this client. Defaults to `false`.
52
+ * - `directAccessGrantsEnabled` - (Optional) When `true`, the OAuth2 Resource Owner Password Grant will be enabled for this client. Defaults to `false`.
53
+ * - `serviceAccountsEnabled` - (Optional) When `true`, the OAuth2 Client Credentials grant will be enabled for this client. Defaults to `false`.
54
+ * - `validRedirectUris` - (Optional) A list of valid URIs a browser is permitted to redirect to after a successful login or logout. Simple
55
+ * wildcards in the form of an asterisk can be used here. This attribute must be set if either `standardFlowEnabled` or `implicitFlowEnabled`
56
+ * is set to `true`.
57
+ * - `webOrigins` - (Optional) A list of allowed CORS origins. `+` can be used to permit all valid redirect URIs, and `*` can be used to permit all origins.
58
+ * - `adminUrl` - (Optional) URL to the admin interface of the client.
59
+ * - `baseUrl` - (Optional) Default URL to use when the auth server needs to redirect or link back to the client.
60
+ * - `pkceCodeChallengeMethod` - (Optional) The challenge method to use for Proof Key for Code Exchange. Can be either `plain` or `S256` or set to empty value ``.
61
+ * - `fullScopeAllowed` - (Optional) - Allow to include all roles mappings in the access token.
62
+ *
63
+ * ### Attributes Reference
64
+ *
65
+ * In addition to the arguments listed above, the following computed attributes are exported:
66
+ *
67
+ * - `serviceAccountUserId` - When service accounts are enabled for this client, this attribute is the unique ID for the Keycloak user that represents this service account.
68
+ *
69
+ * ### Import
70
+ *
71
+ * Clients can be imported using the format `{{realm_id}}/{{client_keycloak_id}}`, where `clientKeycloakId` is the unique ID that Keycloak
72
+ * assigns to the client upon creation. This value can be found in the URI when editing this client in the GUI, and is typically a GUID.
73
+ *
74
+ * Example:
42
75
  */
43
76
  export declare class Client extends pulumi.CustomResource {
44
77
  /**
@@ -56,194 +89,53 @@ export declare class Client extends pulumi.CustomResource {
56
89
  * when multiple copies of the Pulumi SDK have been loaded into the same process.
57
90
  */
58
91
  static isInstance(obj: any): obj is Client;
59
- /**
60
- * The amount of time in seconds before an access token expires. This will override the default for the realm.
61
- */
62
92
  readonly accessTokenLifespan: pulumi.Output<string>;
63
- /**
64
- * Specifies the type of client, which can be one of the following:
65
- */
66
93
  readonly accessType: pulumi.Output<string>;
67
- /**
68
- * URL to the admin interface of the client.
69
- */
70
94
  readonly adminUrl: pulumi.Output<string>;
71
- /**
72
- * Override realm authentication flow bindings
73
- */
74
95
  readonly authenticationFlowBindingOverrides: pulumi.Output<outputs.openid.ClientAuthenticationFlowBindingOverrides | undefined>;
75
- /**
76
- * When this block is present, fine-grained authorization will be enabled for this client. The client's `accessType` must be `CONFIDENTIAL`, and `serviceAccountsEnabled` must be `true`. This block has the following arguments:
77
- */
78
96
  readonly authorization: pulumi.Output<outputs.openid.ClientAuthorization | undefined>;
79
- /**
80
- * Specifying whether a "revokeOfflineAccess" event is included in the Logout Token when the Backchannel Logout URL is used. Keycloak will revoke offline sessions when receiving a Logout Token with this event.
81
- */
82
97
  readonly backchannelLogoutRevokeOfflineSessions: pulumi.Output<boolean | undefined>;
83
- /**
84
- * When `true`, a sid (session ID) claim will be included in the logout token when the backchannel logout URL is used. Defaults to `true`.
85
- */
86
98
  readonly backchannelLogoutSessionRequired: pulumi.Output<boolean | undefined>;
87
- /**
88
- * The URL that will cause the client to log itself out when a logout request is sent to this realm. If omitted, no logout request will be sent to the client is this case.
89
- */
90
99
  readonly backchannelLogoutUrl: pulumi.Output<string | undefined>;
91
- /**
92
- * Default URL to use when the auth server needs to redirect or link back to the client.
93
- */
94
100
  readonly baseUrl: pulumi.Output<string>;
95
- /**
96
- * Defaults to `client-secret`. The authenticator type for clients with an `accessType` of `CONFIDENTIAL` or `BEARER-ONLY`. A default Keycloak installation will have the following available types:
97
- * - `client-secret` (Default) Use client id and client secret to authenticate client.
98
- * - `client-jwt` Use signed JWT to authenticate client. Set signing algorithm in `extraConfig` with `attributes.token.endpoint.auth.signing.alg = <alg>`
99
- * - `client-x509` Use x509 certificate to authenticate client. Set Subject DN in `extraConfig` with `attributes.x509.subjectdn = <subjectDn>`
100
- * - `client-secret-jwt` Use signed JWT with client secret to authenticate client. Set signing algorithm in `extraConfig` with `attributes.token.endpoint.auth.signing.alg = <alg>`
101
- */
102
101
  readonly clientAuthenticatorType: pulumi.Output<string | undefined>;
103
- /**
104
- * The Client ID for this client, referenced in the URI during authentication and in issued tokens.
105
- */
106
102
  readonly clientId: pulumi.Output<string>;
107
- /**
108
- * Time a client session is allowed to be idle before it expires. Tokens are invalidated when a client session is expired. If not set it uses the standard SSO Session Idle value.
109
- */
110
103
  readonly clientOfflineSessionIdleTimeout: pulumi.Output<string>;
111
- /**
112
- * Max time before a client session is expired. Tokens are invalidated when a client session is expired. If not set, it uses the standard SSO Session Max value.
113
- */
114
104
  readonly clientOfflineSessionMaxLifespan: pulumi.Output<string>;
115
- /**
116
- * The secret for clients with an `accessType` of `CONFIDENTIAL` or `BEARER-ONLY`. This value is sensitive and should be treated with the same care as a password. If omitted, this will be generated by Keycloak.
117
- */
118
105
  readonly clientSecret: pulumi.Output<string>;
119
- /**
120
- * Time a client offline session is allowed to be idle before it expires. Offline tokens are invalidated when a client offline session is expired. If not set it uses the Offline Session Idle value.
121
- */
122
106
  readonly clientSessionIdleTimeout: pulumi.Output<string>;
123
- /**
124
- * Max time before a client offline session is expired. Offline tokens are invalidated when a client offline session is expired. If not set, it uses the Offline Session Max value.
125
- */
126
107
  readonly clientSessionMaxLifespan: pulumi.Output<string>;
127
- /**
128
- * When `true`, users have to consent to client access. Defaults to `false`.
129
- */
130
108
  readonly consentRequired: pulumi.Output<boolean>;
131
- /**
132
- * The text to display on the consent screen about permissions specific to this client. This is applicable only when `displayOnConsentScreen` is `true`.
133
- */
134
109
  readonly consentScreenText: pulumi.Output<string>;
135
- /**
136
- * The description of this client in the GUI.
137
- */
138
110
  readonly description: pulumi.Output<string>;
139
- /**
140
- * When `true`, the OAuth2 Resource Owner Password Grant will be enabled for this client. Defaults to `false`.
141
- */
142
111
  readonly directAccessGrantsEnabled: pulumi.Output<boolean>;
143
- /**
144
- * When `true`, the consent screen will display information about the client itself. Defaults to `false`. This is applicable only when `consentRequired` is `true`.
145
- */
146
112
  readonly displayOnConsentScreen: pulumi.Output<boolean>;
147
- /**
148
- * When `false`, this client will not be able to initiate a login or obtain access tokens. Defaults to `true`.
149
- */
150
113
  readonly enabled: pulumi.Output<boolean | undefined>;
151
- /**
152
- * When `true`, the parameter `sessionState` will not be included in OpenID Connect Authentication Response.
153
- */
154
114
  readonly excludeSessionStateFromAuthResponse: pulumi.Output<boolean>;
155
115
  readonly extraConfig: pulumi.Output<{
156
116
  [key: string]: any;
157
117
  } | undefined>;
158
- /**
159
- * When `true`, frontchannel logout will be enabled for this client. Specify the url with `frontchannelLogoutUrl`. Defaults to `false`.
160
- */
161
118
  readonly frontchannelLogoutEnabled: pulumi.Output<boolean>;
162
- /**
163
- * The frontchannel logout url. This is applicable only when `frontchannelLogoutEnabled` is `true`.
164
- */
165
119
  readonly frontchannelLogoutUrl: pulumi.Output<string | undefined>;
166
- /**
167
- * Allow to include all roles mappings in the access token.
168
- */
169
120
  readonly fullScopeAllowed: pulumi.Output<boolean | undefined>;
170
- /**
171
- * When `true`, the OAuth2 Implicit Grant will be enabled for this client. Defaults to `false`.
172
- */
173
121
  readonly implicitFlowEnabled: pulumi.Output<boolean>;
174
- /**
175
- * When `true`, the client with the specified `clientId` is assumed to already exist, and it will be imported into state instead of being created. This attribute is useful when dealing with clients that Keycloak creates automatically during realm creation, such as `account` and `admin-cli`. Note, that the client will not be removed during destruction if `import` is `true`.
176
- */
177
122
  readonly import: pulumi.Output<boolean | undefined>;
178
- /**
179
- * The client login theme. This will override the default theme for the realm.
180
- */
181
123
  readonly loginTheme: pulumi.Output<string | undefined>;
182
- /**
183
- * The display name of this client in the GUI.
184
- */
185
124
  readonly name: pulumi.Output<string>;
186
- /**
187
- * Enables support for OAuth 2.0 Device Authorization Grant, which means that client is an application on device that has limited input capabilities or lack a suitable browser.
188
- */
189
125
  readonly oauth2DeviceAuthorizationGrantEnabled: pulumi.Output<boolean | undefined>;
190
- /**
191
- * The maximum amount of time a client has to finish the device code flow before it expires.
192
- */
193
126
  readonly oauth2DeviceCodeLifespan: pulumi.Output<string | undefined>;
194
- /**
195
- * The minimum amount of time in seconds that the client should wait between polling requests to the token endpoint.
196
- */
197
127
  readonly oauth2DevicePollingInterval: pulumi.Output<string | undefined>;
198
- /**
199
- * The challenge method to use for Proof Key for Code Exchange. Can be either `plain` or `S256` or set to empty value ``.
200
- */
201
128
  readonly pkceCodeChallengeMethod: pulumi.Output<string | undefined>;
202
- /**
203
- * The realm this client is attached to.
204
- */
205
129
  readonly realmId: pulumi.Output<string>;
206
- /**
207
- * (Computed) When authorization is enabled for this client, this attribute is the unique ID for the client (the same value as the `.id` attribute).
208
- */
209
130
  readonly resourceServerId: pulumi.Output<string>;
210
- /**
211
- * 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.
212
- */
213
131
  readonly rootUrl: pulumi.Output<string>;
214
- /**
215
- * (Computed) When service accounts are enabled for this client, this attribute is the unique ID for the Keycloak user that represents this service account.
216
- */
217
132
  readonly serviceAccountUserId: pulumi.Output<string>;
218
- /**
219
- * When `true`, the OAuth2 Client Credentials grant will be enabled for this client. Defaults to `false`.
220
- */
221
133
  readonly serviceAccountsEnabled: pulumi.Output<boolean>;
222
- /**
223
- * When `true`, the OAuth2 Authorization Code Grant will be enabled for this client. Defaults to `false`.
224
- */
225
134
  readonly standardFlowEnabled: pulumi.Output<boolean>;
226
- /**
227
- * If this is `true`, a refreshToken will be created and added to the token response. If this is `false` then no refreshToken will be generated. Defaults to `true`.
228
- */
229
135
  readonly useRefreshTokens: pulumi.Output<boolean | undefined>;
230
- /**
231
- * If this is `true`, a refreshToken will be created and added to the token response if the clientCredentials grant is used and a user session will be created. If this is `false` then no refreshToken will be generated and the associated user session will be removed, in accordance with OAuth 2.0 RFC6749 Section 4.4.3. Defaults to `false`.
232
- */
233
136
  readonly useRefreshTokensClientCredentials: pulumi.Output<boolean | undefined>;
234
- /**
235
- * A list of valid URIs a browser is permitted to redirect to after a successful logout.
236
- */
237
137
  readonly validPostLogoutRedirectUris: pulumi.Output<string[]>;
238
- /**
239
- * A list of valid URIs a browser is permitted to redirect to after a successful login or logout. Simple
240
- * wildcards in the form of an asterisk can be used here. This attribute must be set if either `standardFlowEnabled` or `implicitFlowEnabled`
241
- * is set to `true`.
242
- */
243
138
  readonly validRedirectUris: pulumi.Output<string[]>;
244
- /**
245
- * A list of allowed CORS origins. To permit all valid redirect URIs, add `+`. Note that this will not include the `*` wildcard. To permit all origins, explicitly add `*`."
246
- */
247
139
  readonly webOrigins: pulumi.Output<string[]>;
248
140
  /**
249
141
  * Create a Client resource with the given unique name, arguments, and options.
@@ -258,379 +150,103 @@ export declare class Client extends pulumi.CustomResource {
258
150
  * Input properties used for looking up and filtering Client resources.
259
151
  */
260
152
  export interface ClientState {
261
- /**
262
- * The amount of time in seconds before an access token expires. This will override the default for the realm.
263
- */
264
153
  accessTokenLifespan?: pulumi.Input<string>;
265
- /**
266
- * Specifies the type of client, which can be one of the following:
267
- */
268
154
  accessType?: pulumi.Input<string>;
269
- /**
270
- * URL to the admin interface of the client.
271
- */
272
155
  adminUrl?: pulumi.Input<string>;
273
- /**
274
- * Override realm authentication flow bindings
275
- */
276
156
  authenticationFlowBindingOverrides?: pulumi.Input<inputs.openid.ClientAuthenticationFlowBindingOverrides>;
277
- /**
278
- * When this block is present, fine-grained authorization will be enabled for this client. The client's `accessType` must be `CONFIDENTIAL`, and `serviceAccountsEnabled` must be `true`. This block has the following arguments:
279
- */
280
157
  authorization?: pulumi.Input<inputs.openid.ClientAuthorization>;
281
- /**
282
- * Specifying whether a "revokeOfflineAccess" event is included in the Logout Token when the Backchannel Logout URL is used. Keycloak will revoke offline sessions when receiving a Logout Token with this event.
283
- */
284
158
  backchannelLogoutRevokeOfflineSessions?: pulumi.Input<boolean>;
285
- /**
286
- * When `true`, a sid (session ID) claim will be included in the logout token when the backchannel logout URL is used. Defaults to `true`.
287
- */
288
159
  backchannelLogoutSessionRequired?: pulumi.Input<boolean>;
289
- /**
290
- * The URL that will cause the client to log itself out when a logout request is sent to this realm. If omitted, no logout request will be sent to the client is this case.
291
- */
292
160
  backchannelLogoutUrl?: pulumi.Input<string>;
293
- /**
294
- * Default URL to use when the auth server needs to redirect or link back to the client.
295
- */
296
161
  baseUrl?: pulumi.Input<string>;
297
- /**
298
- * Defaults to `client-secret`. The authenticator type for clients with an `accessType` of `CONFIDENTIAL` or `BEARER-ONLY`. A default Keycloak installation will have the following available types:
299
- * - `client-secret` (Default) Use client id and client secret to authenticate client.
300
- * - `client-jwt` Use signed JWT to authenticate client. Set signing algorithm in `extraConfig` with `attributes.token.endpoint.auth.signing.alg = <alg>`
301
- * - `client-x509` Use x509 certificate to authenticate client. Set Subject DN in `extraConfig` with `attributes.x509.subjectdn = <subjectDn>`
302
- * - `client-secret-jwt` Use signed JWT with client secret to authenticate client. Set signing algorithm in `extraConfig` with `attributes.token.endpoint.auth.signing.alg = <alg>`
303
- */
304
162
  clientAuthenticatorType?: pulumi.Input<string>;
305
- /**
306
- * The Client ID for this client, referenced in the URI during authentication and in issued tokens.
307
- */
308
163
  clientId?: pulumi.Input<string>;
309
- /**
310
- * Time a client session is allowed to be idle before it expires. Tokens are invalidated when a client session is expired. If not set it uses the standard SSO Session Idle value.
311
- */
312
164
  clientOfflineSessionIdleTimeout?: pulumi.Input<string>;
313
- /**
314
- * Max time before a client session is expired. Tokens are invalidated when a client session is expired. If not set, it uses the standard SSO Session Max value.
315
- */
316
165
  clientOfflineSessionMaxLifespan?: pulumi.Input<string>;
317
- /**
318
- * The secret for clients with an `accessType` of `CONFIDENTIAL` or `BEARER-ONLY`. This value is sensitive and should be treated with the same care as a password. If omitted, this will be generated by Keycloak.
319
- */
320
166
  clientSecret?: pulumi.Input<string>;
321
- /**
322
- * Time a client offline session is allowed to be idle before it expires. Offline tokens are invalidated when a client offline session is expired. If not set it uses the Offline Session Idle value.
323
- */
324
167
  clientSessionIdleTimeout?: pulumi.Input<string>;
325
- /**
326
- * Max time before a client offline session is expired. Offline tokens are invalidated when a client offline session is expired. If not set, it uses the Offline Session Max value.
327
- */
328
168
  clientSessionMaxLifespan?: pulumi.Input<string>;
329
- /**
330
- * When `true`, users have to consent to client access. Defaults to `false`.
331
- */
332
169
  consentRequired?: pulumi.Input<boolean>;
333
- /**
334
- * The text to display on the consent screen about permissions specific to this client. This is applicable only when `displayOnConsentScreen` is `true`.
335
- */
336
170
  consentScreenText?: pulumi.Input<string>;
337
- /**
338
- * The description of this client in the GUI.
339
- */
340
171
  description?: pulumi.Input<string>;
341
- /**
342
- * When `true`, the OAuth2 Resource Owner Password Grant will be enabled for this client. Defaults to `false`.
343
- */
344
172
  directAccessGrantsEnabled?: pulumi.Input<boolean>;
345
- /**
346
- * When `true`, the consent screen will display information about the client itself. Defaults to `false`. This is applicable only when `consentRequired` is `true`.
347
- */
348
173
  displayOnConsentScreen?: pulumi.Input<boolean>;
349
- /**
350
- * When `false`, this client will not be able to initiate a login or obtain access tokens. Defaults to `true`.
351
- */
352
174
  enabled?: pulumi.Input<boolean>;
353
- /**
354
- * When `true`, the parameter `sessionState` will not be included in OpenID Connect Authentication Response.
355
- */
356
175
  excludeSessionStateFromAuthResponse?: pulumi.Input<boolean>;
357
176
  extraConfig?: pulumi.Input<{
358
177
  [key: string]: any;
359
178
  }>;
360
- /**
361
- * When `true`, frontchannel logout will be enabled for this client. Specify the url with `frontchannelLogoutUrl`. Defaults to `false`.
362
- */
363
179
  frontchannelLogoutEnabled?: pulumi.Input<boolean>;
364
- /**
365
- * The frontchannel logout url. This is applicable only when `frontchannelLogoutEnabled` is `true`.
366
- */
367
180
  frontchannelLogoutUrl?: pulumi.Input<string>;
368
- /**
369
- * Allow to include all roles mappings in the access token.
370
- */
371
181
  fullScopeAllowed?: pulumi.Input<boolean>;
372
- /**
373
- * When `true`, the OAuth2 Implicit Grant will be enabled for this client. Defaults to `false`.
374
- */
375
182
  implicitFlowEnabled?: pulumi.Input<boolean>;
376
- /**
377
- * When `true`, the client with the specified `clientId` is assumed to already exist, and it will be imported into state instead of being created. This attribute is useful when dealing with clients that Keycloak creates automatically during realm creation, such as `account` and `admin-cli`. Note, that the client will not be removed during destruction if `import` is `true`.
378
- */
379
183
  import?: pulumi.Input<boolean>;
380
- /**
381
- * The client login theme. This will override the default theme for the realm.
382
- */
383
184
  loginTheme?: pulumi.Input<string>;
384
- /**
385
- * The display name of this client in the GUI.
386
- */
387
185
  name?: pulumi.Input<string>;
388
- /**
389
- * Enables support for OAuth 2.0 Device Authorization Grant, which means that client is an application on device that has limited input capabilities or lack a suitable browser.
390
- */
391
186
  oauth2DeviceAuthorizationGrantEnabled?: pulumi.Input<boolean>;
392
- /**
393
- * The maximum amount of time a client has to finish the device code flow before it expires.
394
- */
395
187
  oauth2DeviceCodeLifespan?: pulumi.Input<string>;
396
- /**
397
- * The minimum amount of time in seconds that the client should wait between polling requests to the token endpoint.
398
- */
399
188
  oauth2DevicePollingInterval?: pulumi.Input<string>;
400
- /**
401
- * The challenge method to use for Proof Key for Code Exchange. Can be either `plain` or `S256` or set to empty value ``.
402
- */
403
189
  pkceCodeChallengeMethod?: pulumi.Input<string>;
404
- /**
405
- * The realm this client is attached to.
406
- */
407
190
  realmId?: pulumi.Input<string>;
408
- /**
409
- * (Computed) When authorization is enabled for this client, this attribute is the unique ID for the client (the same value as the `.id` attribute).
410
- */
411
191
  resourceServerId?: pulumi.Input<string>;
412
- /**
413
- * 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.
414
- */
415
192
  rootUrl?: pulumi.Input<string>;
416
- /**
417
- * (Computed) When service accounts are enabled for this client, this attribute is the unique ID for the Keycloak user that represents this service account.
418
- */
419
193
  serviceAccountUserId?: pulumi.Input<string>;
420
- /**
421
- * When `true`, the OAuth2 Client Credentials grant will be enabled for this client. Defaults to `false`.
422
- */
423
194
  serviceAccountsEnabled?: pulumi.Input<boolean>;
424
- /**
425
- * When `true`, the OAuth2 Authorization Code Grant will be enabled for this client. Defaults to `false`.
426
- */
427
195
  standardFlowEnabled?: pulumi.Input<boolean>;
428
- /**
429
- * If this is `true`, a refreshToken will be created and added to the token response. If this is `false` then no refreshToken will be generated. Defaults to `true`.
430
- */
431
196
  useRefreshTokens?: pulumi.Input<boolean>;
432
- /**
433
- * If this is `true`, a refreshToken will be created and added to the token response if the clientCredentials grant is used and a user session will be created. If this is `false` then no refreshToken will be generated and the associated user session will be removed, in accordance with OAuth 2.0 RFC6749 Section 4.4.3. Defaults to `false`.
434
- */
435
197
  useRefreshTokensClientCredentials?: pulumi.Input<boolean>;
436
- /**
437
- * A list of valid URIs a browser is permitted to redirect to after a successful logout.
438
- */
439
198
  validPostLogoutRedirectUris?: pulumi.Input<pulumi.Input<string>[]>;
440
- /**
441
- * A list of valid URIs a browser is permitted to redirect to after a successful login or logout. Simple
442
- * wildcards in the form of an asterisk can be used here. This attribute must be set if either `standardFlowEnabled` or `implicitFlowEnabled`
443
- * is set to `true`.
444
- */
445
199
  validRedirectUris?: pulumi.Input<pulumi.Input<string>[]>;
446
- /**
447
- * A list of allowed CORS origins. To permit all valid redirect URIs, add `+`. Note that this will not include the `*` wildcard. To permit all origins, explicitly add `*`."
448
- */
449
200
  webOrigins?: pulumi.Input<pulumi.Input<string>[]>;
450
201
  }
451
202
  /**
452
203
  * The set of arguments for constructing a Client resource.
453
204
  */
454
205
  export interface ClientArgs {
455
- /**
456
- * The amount of time in seconds before an access token expires. This will override the default for the realm.
457
- */
458
206
  accessTokenLifespan?: pulumi.Input<string>;
459
- /**
460
- * Specifies the type of client, which can be one of the following:
461
- */
462
207
  accessType: pulumi.Input<string>;
463
- /**
464
- * URL to the admin interface of the client.
465
- */
466
208
  adminUrl?: pulumi.Input<string>;
467
- /**
468
- * Override realm authentication flow bindings
469
- */
470
209
  authenticationFlowBindingOverrides?: pulumi.Input<inputs.openid.ClientAuthenticationFlowBindingOverrides>;
471
- /**
472
- * When this block is present, fine-grained authorization will be enabled for this client. The client's `accessType` must be `CONFIDENTIAL`, and `serviceAccountsEnabled` must be `true`. This block has the following arguments:
473
- */
474
210
  authorization?: pulumi.Input<inputs.openid.ClientAuthorization>;
475
- /**
476
- * Specifying whether a "revokeOfflineAccess" event is included in the Logout Token when the Backchannel Logout URL is used. Keycloak will revoke offline sessions when receiving a Logout Token with this event.
477
- */
478
211
  backchannelLogoutRevokeOfflineSessions?: pulumi.Input<boolean>;
479
- /**
480
- * When `true`, a sid (session ID) claim will be included in the logout token when the backchannel logout URL is used. Defaults to `true`.
481
- */
482
212
  backchannelLogoutSessionRequired?: pulumi.Input<boolean>;
483
- /**
484
- * The URL that will cause the client to log itself out when a logout request is sent to this realm. If omitted, no logout request will be sent to the client is this case.
485
- */
486
213
  backchannelLogoutUrl?: pulumi.Input<string>;
487
- /**
488
- * Default URL to use when the auth server needs to redirect or link back to the client.
489
- */
490
214
  baseUrl?: pulumi.Input<string>;
491
- /**
492
- * Defaults to `client-secret`. The authenticator type for clients with an `accessType` of `CONFIDENTIAL` or `BEARER-ONLY`. A default Keycloak installation will have the following available types:
493
- * - `client-secret` (Default) Use client id and client secret to authenticate client.
494
- * - `client-jwt` Use signed JWT to authenticate client. Set signing algorithm in `extraConfig` with `attributes.token.endpoint.auth.signing.alg = <alg>`
495
- * - `client-x509` Use x509 certificate to authenticate client. Set Subject DN in `extraConfig` with `attributes.x509.subjectdn = <subjectDn>`
496
- * - `client-secret-jwt` Use signed JWT with client secret to authenticate client. Set signing algorithm in `extraConfig` with `attributes.token.endpoint.auth.signing.alg = <alg>`
497
- */
498
215
  clientAuthenticatorType?: pulumi.Input<string>;
499
- /**
500
- * The Client ID for this client, referenced in the URI during authentication and in issued tokens.
501
- */
502
216
  clientId: pulumi.Input<string>;
503
- /**
504
- * Time a client session is allowed to be idle before it expires. Tokens are invalidated when a client session is expired. If not set it uses the standard SSO Session Idle value.
505
- */
506
217
  clientOfflineSessionIdleTimeout?: pulumi.Input<string>;
507
- /**
508
- * Max time before a client session is expired. Tokens are invalidated when a client session is expired. If not set, it uses the standard SSO Session Max value.
509
- */
510
218
  clientOfflineSessionMaxLifespan?: pulumi.Input<string>;
511
- /**
512
- * The secret for clients with an `accessType` of `CONFIDENTIAL` or `BEARER-ONLY`. This value is sensitive and should be treated with the same care as a password. If omitted, this will be generated by Keycloak.
513
- */
514
219
  clientSecret?: pulumi.Input<string>;
515
- /**
516
- * Time a client offline session is allowed to be idle before it expires. Offline tokens are invalidated when a client offline session is expired. If not set it uses the Offline Session Idle value.
517
- */
518
220
  clientSessionIdleTimeout?: pulumi.Input<string>;
519
- /**
520
- * Max time before a client offline session is expired. Offline tokens are invalidated when a client offline session is expired. If not set, it uses the Offline Session Max value.
521
- */
522
221
  clientSessionMaxLifespan?: pulumi.Input<string>;
523
- /**
524
- * When `true`, users have to consent to client access. Defaults to `false`.
525
- */
526
222
  consentRequired?: pulumi.Input<boolean>;
527
- /**
528
- * The text to display on the consent screen about permissions specific to this client. This is applicable only when `displayOnConsentScreen` is `true`.
529
- */
530
223
  consentScreenText?: pulumi.Input<string>;
531
- /**
532
- * The description of this client in the GUI.
533
- */
534
224
  description?: pulumi.Input<string>;
535
- /**
536
- * When `true`, the OAuth2 Resource Owner Password Grant will be enabled for this client. Defaults to `false`.
537
- */
538
225
  directAccessGrantsEnabled?: pulumi.Input<boolean>;
539
- /**
540
- * When `true`, the consent screen will display information about the client itself. Defaults to `false`. This is applicable only when `consentRequired` is `true`.
541
- */
542
226
  displayOnConsentScreen?: pulumi.Input<boolean>;
543
- /**
544
- * When `false`, this client will not be able to initiate a login or obtain access tokens. Defaults to `true`.
545
- */
546
227
  enabled?: pulumi.Input<boolean>;
547
- /**
548
- * When `true`, the parameter `sessionState` will not be included in OpenID Connect Authentication Response.
549
- */
550
228
  excludeSessionStateFromAuthResponse?: pulumi.Input<boolean>;
551
229
  extraConfig?: pulumi.Input<{
552
230
  [key: string]: any;
553
231
  }>;
554
- /**
555
- * When `true`, frontchannel logout will be enabled for this client. Specify the url with `frontchannelLogoutUrl`. Defaults to `false`.
556
- */
557
232
  frontchannelLogoutEnabled?: pulumi.Input<boolean>;
558
- /**
559
- * The frontchannel logout url. This is applicable only when `frontchannelLogoutEnabled` is `true`.
560
- */
561
233
  frontchannelLogoutUrl?: pulumi.Input<string>;
562
- /**
563
- * Allow to include all roles mappings in the access token.
564
- */
565
234
  fullScopeAllowed?: pulumi.Input<boolean>;
566
- /**
567
- * When `true`, the OAuth2 Implicit Grant will be enabled for this client. Defaults to `false`.
568
- */
569
235
  implicitFlowEnabled?: pulumi.Input<boolean>;
570
- /**
571
- * When `true`, the client with the specified `clientId` is assumed to already exist, and it will be imported into state instead of being created. This attribute is useful when dealing with clients that Keycloak creates automatically during realm creation, such as `account` and `admin-cli`. Note, that the client will not be removed during destruction if `import` is `true`.
572
- */
573
236
  import?: pulumi.Input<boolean>;
574
- /**
575
- * The client login theme. This will override the default theme for the realm.
576
- */
577
237
  loginTheme?: pulumi.Input<string>;
578
- /**
579
- * The display name of this client in the GUI.
580
- */
581
238
  name?: pulumi.Input<string>;
582
- /**
583
- * Enables support for OAuth 2.0 Device Authorization Grant, which means that client is an application on device that has limited input capabilities or lack a suitable browser.
584
- */
585
239
  oauth2DeviceAuthorizationGrantEnabled?: pulumi.Input<boolean>;
586
- /**
587
- * The maximum amount of time a client has to finish the device code flow before it expires.
588
- */
589
240
  oauth2DeviceCodeLifespan?: pulumi.Input<string>;
590
- /**
591
- * The minimum amount of time in seconds that the client should wait between polling requests to the token endpoint.
592
- */
593
241
  oauth2DevicePollingInterval?: pulumi.Input<string>;
594
- /**
595
- * The challenge method to use for Proof Key for Code Exchange. Can be either `plain` or `S256` or set to empty value ``.
596
- */
597
242
  pkceCodeChallengeMethod?: pulumi.Input<string>;
598
- /**
599
- * The realm this client is attached to.
600
- */
601
243
  realmId: pulumi.Input<string>;
602
- /**
603
- * 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.
604
- */
605
244
  rootUrl?: pulumi.Input<string>;
606
- /**
607
- * When `true`, the OAuth2 Client Credentials grant will be enabled for this client. Defaults to `false`.
608
- */
609
245
  serviceAccountsEnabled?: pulumi.Input<boolean>;
610
- /**
611
- * When `true`, the OAuth2 Authorization Code Grant will be enabled for this client. Defaults to `false`.
612
- */
613
246
  standardFlowEnabled?: pulumi.Input<boolean>;
614
- /**
615
- * If this is `true`, a refreshToken will be created and added to the token response. If this is `false` then no refreshToken will be generated. Defaults to `true`.
616
- */
617
247
  useRefreshTokens?: pulumi.Input<boolean>;
618
- /**
619
- * If this is `true`, a refreshToken will be created and added to the token response if the clientCredentials grant is used and a user session will be created. If this is `false` then no refreshToken will be generated and the associated user session will be removed, in accordance with OAuth 2.0 RFC6749 Section 4.4.3. Defaults to `false`.
620
- */
621
248
  useRefreshTokensClientCredentials?: pulumi.Input<boolean>;
622
- /**
623
- * A list of valid URIs a browser is permitted to redirect to after a successful logout.
624
- */
625
249
  validPostLogoutRedirectUris?: pulumi.Input<pulumi.Input<string>[]>;
626
- /**
627
- * A list of valid URIs a browser is permitted to redirect to after a successful login or logout. Simple
628
- * wildcards in the form of an asterisk can be used here. This attribute must be set if either `standardFlowEnabled` or `implicitFlowEnabled`
629
- * is set to `true`.
630
- */
631
250
  validRedirectUris?: pulumi.Input<pulumi.Input<string>[]>;
632
- /**
633
- * A list of allowed CORS origins. To permit all valid redirect URIs, add `+`. Note that this will not include the `*` wildcard. To permit all origins, explicitly add `*`."
634
- */
635
251
  webOrigins?: pulumi.Input<pulumi.Input<string>[]>;
636
252
  }