@pulumi/keycloak 5.3.0 → 5.3.1

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 (285) hide show
  1. package/attributeImporterIdentityProviderMapper.d.ts +46 -63
  2. package/attributeImporterIdentityProviderMapper.js +25 -33
  3. package/attributeImporterIdentityProviderMapper.js.map +1 -1
  4. package/attributeToRoleIdentityMapper.d.ts +10 -2
  5. package/attributeToRoleIdentityMapper.js +10 -2
  6. package/attributeToRoleIdentityMapper.js.map +1 -1
  7. package/authentication/bindings.d.ts +2 -0
  8. package/authentication/bindings.js +2 -0
  9. package/authentication/bindings.js.map +1 -1
  10. package/authentication/execution.d.ts +8 -2
  11. package/authentication/execution.js +8 -2
  12. package/authentication/execution.js.map +1 -1
  13. package/authentication/executionConfig.d.ts +12 -2
  14. package/authentication/executionConfig.js +12 -2
  15. package/authentication/executionConfig.js.map +1 -1
  16. package/authentication/flow.d.ts +16 -2
  17. package/authentication/flow.js +16 -2
  18. package/authentication/flow.js.map +1 -1
  19. package/authentication/subflow.d.ts +18 -2
  20. package/authentication/subflow.js +18 -2
  21. package/authentication/subflow.js.map +1 -1
  22. package/customIdentityProviderMapping.d.ts +13 -5
  23. package/customIdentityProviderMapping.js +10 -2
  24. package/customIdentityProviderMapping.js.map +1 -1
  25. package/customUserFederation.d.ts +51 -50
  26. package/customUserFederation.js +27 -14
  27. package/customUserFederation.js.map +1 -1
  28. package/defaultGroups.d.ts +19 -27
  29. package/defaultGroups.js +19 -9
  30. package/defaultGroups.js.map +1 -1
  31. package/defaultRoles.d.ts +13 -2
  32. package/defaultRoles.js +13 -2
  33. package/defaultRoles.js.map +1 -1
  34. package/genericClientProtocolMapper.d.ts +40 -37
  35. package/genericClientProtocolMapper.js +25 -13
  36. package/genericClientProtocolMapper.js.map +1 -1
  37. package/genericClientRoleMapper.d.ts +22 -2
  38. package/genericClientRoleMapper.js +22 -2
  39. package/genericClientRoleMapper.js.map +1 -1
  40. package/genericProtocolMapper.d.ts +8 -2
  41. package/genericProtocolMapper.js +8 -2
  42. package/genericProtocolMapper.js.map +1 -1
  43. package/genericRoleMapper.d.ts +22 -2
  44. package/genericRoleMapper.js +22 -2
  45. package/genericRoleMapper.js.map +1 -1
  46. package/getAuthenticationExecution.d.ts +4 -0
  47. package/getAuthenticationExecution.js +4 -0
  48. package/getAuthenticationExecution.js.map +1 -1
  49. package/getAuthenticationFlow.d.ts +4 -0
  50. package/getAuthenticationFlow.js +4 -0
  51. package/getAuthenticationFlow.js.map +1 -1
  52. package/getClientDescriptionConverter.d.ts +4 -0
  53. package/getClientDescriptionConverter.js +4 -0
  54. package/getClientDescriptionConverter.js.map +1 -1
  55. package/getGroup.d.ts +4 -62
  56. package/getGroup.js +4 -50
  57. package/getGroup.js.map +1 -1
  58. package/getRealm.d.ts +32 -10
  59. package/getRealm.js +32 -4
  60. package/getRealm.js.map +1 -1
  61. package/getRealmKeys.d.ts +8 -28
  62. package/getRealmKeys.js +8 -4
  63. package/getRealmKeys.js.map +1 -1
  64. package/getRole.d.ts +4 -65
  65. package/getRole.js +4 -44
  66. package/getRole.js.map +1 -1
  67. package/getUser.d.ts +4 -0
  68. package/getUser.js +4 -0
  69. package/getUser.js.map +1 -1
  70. package/getUserRealmRoles.d.ts +4 -0
  71. package/getUserRealmRoles.js +4 -0
  72. package/getUserRealmRoles.js.map +1 -1
  73. package/group.d.ts +35 -58
  74. package/group.js +35 -16
  75. package/group.js.map +1 -1
  76. package/groupMemberships.d.ts +27 -43
  77. package/groupMemberships.js +27 -16
  78. package/groupMemberships.js.map +1 -1
  79. package/groupPermissions.d.ts +13 -0
  80. package/groupPermissions.js +13 -0
  81. package/groupPermissions.js.map +1 -1
  82. package/groupRoles.d.ts +32 -91
  83. package/groupRoles.js +32 -55
  84. package/groupRoles.js.map +1 -1
  85. package/hardcodedAttributeIdentityProviderMapper.d.ts +2 -0
  86. package/hardcodedAttributeIdentityProviderMapper.js +2 -0
  87. package/hardcodedAttributeIdentityProviderMapper.js.map +1 -1
  88. package/hardcodedRoleIdentityMapper.d.ts +2 -0
  89. package/hardcodedRoleIdentityMapper.js +2 -0
  90. package/hardcodedRoleIdentityMapper.js.map +1 -1
  91. package/identityProviderTokenExchangeScopePermission.d.ts +10 -2
  92. package/identityProviderTokenExchangeScopePermission.js +10 -2
  93. package/identityProviderTokenExchangeScopePermission.js.map +1 -1
  94. package/ldap/customMapper.d.ts +10 -2
  95. package/ldap/customMapper.js +10 -2
  96. package/ldap/customMapper.js.map +1 -1
  97. package/ldap/fullNameMapper.d.ts +41 -54
  98. package/ldap/fullNameMapper.js +32 -18
  99. package/ldap/fullNameMapper.js.map +1 -1
  100. package/ldap/groupMapper.d.ts +55 -164
  101. package/ldap/groupMapper.js +46 -20
  102. package/ldap/groupMapper.js.map +1 -1
  103. package/ldap/hardcodedAttributeMapper.d.ts +10 -2
  104. package/ldap/hardcodedAttributeMapper.js +10 -2
  105. package/ldap/hardcodedAttributeMapper.js.map +1 -1
  106. package/ldap/hardcodedGroupMapper.d.ts +10 -2
  107. package/ldap/hardcodedGroupMapper.js +10 -2
  108. package/ldap/hardcodedGroupMapper.js.map +1 -1
  109. package/ldap/hardcodedRoleMapper.d.ts +29 -64
  110. package/ldap/hardcodedRoleMapper.js +17 -52
  111. package/ldap/hardcodedRoleMapper.js.map +1 -1
  112. package/ldap/msadLdsUserAccountControlMapper.d.ts +10 -2
  113. package/ldap/msadLdsUserAccountControlMapper.js +10 -2
  114. package/ldap/msadLdsUserAccountControlMapper.js.map +1 -1
  115. package/ldap/msadUserAccountControlMapper.d.ts +34 -32
  116. package/ldap/msadUserAccountControlMapper.js +25 -14
  117. package/ldap/msadUserAccountControlMapper.js.map +1 -1
  118. package/ldap/roleMapper.d.ts +10 -2
  119. package/ldap/roleMapper.js +10 -2
  120. package/ldap/roleMapper.js.map +1 -1
  121. package/ldap/userAttributeMapper.d.ts +60 -45
  122. package/ldap/userAttributeMapper.js +30 -15
  123. package/ldap/userAttributeMapper.js.map +1 -1
  124. package/ldap/userFederation.d.ts +125 -95
  125. package/ldap/userFederation.js +53 -20
  126. package/ldap/userFederation.js.map +1 -1
  127. package/oidc/googleIdentityProvider.d.ts +8 -2
  128. package/oidc/googleIdentityProvider.js +8 -2
  129. package/oidc/googleIdentityProvider.js.map +1 -1
  130. package/oidc/identityProvider.d.ts +8 -2
  131. package/oidc/identityProvider.js +8 -2
  132. package/oidc/identityProvider.js.map +1 -1
  133. package/openid/audienceProtocolMapper.d.ts +62 -45
  134. package/openid/audienceProtocolMapper.js +38 -21
  135. package/openid/audienceProtocolMapper.js.map +1 -1
  136. package/openid/audienceResolveProtocolMapper.d.ts +17 -3
  137. package/openid/audienceResolveProtocolMapper.js +17 -3
  138. package/openid/audienceResolveProtocolMapper.js.map +1 -1
  139. package/openid/audienceResolveProtocolMappter.d.ts +17 -3
  140. package/openid/audienceResolveProtocolMappter.js +17 -3
  141. package/openid/audienceResolveProtocolMappter.js.map +1 -1
  142. package/openid/client.d.ts +48 -431
  143. package/openid/client.js +48 -14
  144. package/openid/client.js.map +1 -1
  145. package/openid/clientAuthorizationPermission.d.ts +6 -2
  146. package/openid/clientAuthorizationPermission.js +6 -2
  147. package/openid/clientAuthorizationPermission.js.map +1 -1
  148. package/openid/clientDefaultScopes.d.ts +17 -33
  149. package/openid/clientDefaultScopes.js +17 -6
  150. package/openid/clientDefaultScopes.js.map +1 -1
  151. package/openid/clientOptionalScopes.d.ts +17 -34
  152. package/openid/clientOptionalScopes.js +17 -7
  153. package/openid/clientOptionalScopes.js.map +1 -1
  154. package/openid/clientPolicy.d.ts +2 -0
  155. package/openid/clientPolicy.js +2 -0
  156. package/openid/clientPolicy.js.map +1 -1
  157. package/openid/clientScope.d.ts +27 -67
  158. package/openid/clientScope.js +27 -13
  159. package/openid/clientScope.js.map +1 -1
  160. package/openid/clientServiceAccountRealmRole.d.ts +8 -2
  161. package/openid/clientServiceAccountRealmRole.js +8 -2
  162. package/openid/clientServiceAccountRealmRole.js.map +1 -1
  163. package/openid/clientServiceAccountRole.d.ts +8 -2
  164. package/openid/clientServiceAccountRole.js +8 -2
  165. package/openid/clientServiceAccountRole.js.map +1 -1
  166. package/openid/fullNameProtocolMapper.d.ts +49 -61
  167. package/openid/fullNameProtocolMapper.js +37 -22
  168. package/openid/fullNameProtocolMapper.js.map +1 -1
  169. package/openid/getClient.d.ts +32 -14
  170. package/openid/getClient.js +32 -2
  171. package/openid/getClient.js.map +1 -1
  172. package/openid/getClientAuthorizationPolicy.d.ts +4 -0
  173. package/openid/getClientAuthorizationPolicy.js +4 -0
  174. package/openid/getClientAuthorizationPolicy.js.map +1 -1
  175. package/openid/getClientScope.d.ts +4 -0
  176. package/openid/getClientScope.js +4 -0
  177. package/openid/getClientScope.js.map +1 -1
  178. package/openid/getClientServiceAccountUser.d.ts +4 -0
  179. package/openid/getClientServiceAccountUser.js +4 -0
  180. package/openid/getClientServiceAccountUser.js.map +1 -1
  181. package/openid/groupMembershipProtocolMapper.d.ts +53 -81
  182. package/openid/groupMembershipProtocolMapper.js +41 -24
  183. package/openid/groupMembershipProtocolMapper.js.map +1 -1
  184. package/openid/hardcodedClaimProtocolMapper.d.ts +66 -66
  185. package/openid/hardcodedClaimProtocolMapper.js +42 -24
  186. package/openid/hardcodedClaimProtocolMapper.js.map +1 -1
  187. package/openid/hardcodedRoleProtocolMapper.d.ts +48 -43
  188. package/openid/hardcodedRoleProtocolMapper.js +36 -22
  189. package/openid/hardcodedRoleProtocolMapper.js.map +1 -1
  190. package/openid/scriptProtocolMapper.d.ts +17 -3
  191. package/openid/scriptProtocolMapper.js +17 -3
  192. package/openid/scriptProtocolMapper.js.map +1 -1
  193. package/openid/userAttributeProtocolMapper.d.ts +73 -72
  194. package/openid/userAttributeProtocolMapper.js +43 -24
  195. package/openid/userAttributeProtocolMapper.js.map +1 -1
  196. package/openid/userClientRoleProtocolMapper.d.ts +17 -3
  197. package/openid/userClientRoleProtocolMapper.js +17 -3
  198. package/openid/userClientRoleProtocolMapper.js.map +1 -1
  199. package/openid/userPropertyProtocolMapper.d.ts +66 -67
  200. package/openid/userPropertyProtocolMapper.js +42 -25
  201. package/openid/userPropertyProtocolMapper.js.map +1 -1
  202. package/openid/userRealmRoleProtocolMapper.d.ts +73 -63
  203. package/openid/userRealmRoleProtocolMapper.js +43 -24
  204. package/openid/userRealmRoleProtocolMapper.js.map +1 -1
  205. package/openid/userSessionNoteProtocolMapper.d.ts +17 -3
  206. package/openid/userSessionNoteProtocolMapper.js +17 -3
  207. package/openid/userSessionNoteProtocolMapper.js.map +1 -1
  208. package/package.json +1 -1
  209. package/realm.d.ts +30 -509
  210. package/realm.js +0 -83
  211. package/realm.js.map +1 -1
  212. package/realmEvents.d.ts +20 -74
  213. package/realmEvents.js +20 -11
  214. package/realmEvents.js.map +1 -1
  215. package/realmKeystoreAesGenerated.d.ts +8 -2
  216. package/realmKeystoreAesGenerated.js +8 -2
  217. package/realmKeystoreAesGenerated.js.map +1 -1
  218. package/realmKeystoreEcdsaGenerated.d.ts +8 -2
  219. package/realmKeystoreEcdsaGenerated.js +8 -2
  220. package/realmKeystoreEcdsaGenerated.js.map +1 -1
  221. package/realmKeystoreHmacGenerated.d.ts +8 -2
  222. package/realmKeystoreHmacGenerated.js +8 -2
  223. package/realmKeystoreHmacGenerated.js.map +1 -1
  224. package/realmKeystoreJavaGenerated.d.ts +8 -2
  225. package/realmKeystoreJavaGenerated.js +8 -2
  226. package/realmKeystoreJavaGenerated.js.map +1 -1
  227. package/realmKeystoreRsa.d.ts +6 -2
  228. package/realmKeystoreRsa.js +6 -2
  229. package/realmKeystoreRsa.js.map +1 -1
  230. package/realmKeystoreRsaGenerated.d.ts +8 -2
  231. package/realmKeystoreRsaGenerated.js +8 -2
  232. package/realmKeystoreRsaGenerated.js.map +1 -1
  233. package/realmUserProfile.d.ts +2 -0
  234. package/realmUserProfile.js +2 -0
  235. package/realmUserProfile.js.map +1 -1
  236. package/requiredAction.d.ts +8 -2
  237. package/requiredAction.js +8 -2
  238. package/requiredAction.js.map +1 -1
  239. package/role.d.ts +58 -125
  240. package/role.js +58 -71
  241. package/role.js.map +1 -1
  242. package/saml/client.d.ts +46 -327
  243. package/saml/client.js +46 -12
  244. package/saml/client.js.map +1 -1
  245. package/saml/clientDefaultScope.d.ts +5 -1
  246. package/saml/clientDefaultScope.js +5 -1
  247. package/saml/clientDefaultScope.js.map +1 -1
  248. package/saml/clientScope.d.ts +10 -2
  249. package/saml/clientScope.js +10 -2
  250. package/saml/clientScope.js.map +1 -1
  251. package/saml/getClient.d.ts +4 -0
  252. package/saml/getClient.js +4 -0
  253. package/saml/getClient.js.map +1 -1
  254. package/saml/getClientInstallationProvider.d.ts +4 -0
  255. package/saml/getClientInstallationProvider.js +4 -0
  256. package/saml/getClientInstallationProvider.js.map +1 -1
  257. package/saml/identityProvider.d.ts +163 -117
  258. package/saml/identityProvider.js +52 -21
  259. package/saml/identityProvider.js.map +1 -1
  260. package/saml/scriptProtocolMapper.d.ts +13 -3
  261. package/saml/scriptProtocolMapper.js +13 -3
  262. package/saml/scriptProtocolMapper.js.map +1 -1
  263. package/saml/userAttributeProtocolMapper.d.ts +32 -91
  264. package/saml/userAttributeProtocolMapper.js +32 -19
  265. package/saml/userAttributeProtocolMapper.js.map +1 -1
  266. package/saml/userPropertyProtocolMapper.d.ts +32 -91
  267. package/saml/userPropertyProtocolMapper.js +32 -19
  268. package/saml/userPropertyProtocolMapper.js.map +1 -1
  269. package/types/input.d.ts +74 -183
  270. package/types/output.d.ts +44 -207
  271. package/user.d.ts +36 -112
  272. package/user.js +36 -22
  273. package/user.js.map +1 -1
  274. package/userGroups.d.ts +9 -1
  275. package/userGroups.js +9 -1
  276. package/userGroups.js.map +1 -1
  277. package/userRoles.d.ts +11 -2
  278. package/userRoles.js +11 -2
  279. package/userRoles.js.map +1 -1
  280. package/userTemplateImporterIdentityProviderMapper.d.ts +10 -2
  281. package/userTemplateImporterIdentityProviderMapper.js +10 -2
  282. package/userTemplateImporterIdentityProviderMapper.js.map +1 -1
  283. package/usersPermissions.d.ts +10 -25
  284. package/usersPermissions.js +10 -25
  285. package/usersPermissions.js.map +1 -1
@@ -2,43 +2,77 @@ 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
  *
15
+ * <!--Start PulumiCodeChooser -->
13
16
  * ```typescript
14
17
  * import * as pulumi from "@pulumi/pulumi";
15
18
  * import * as keycloak from "@pulumi/keycloak";
16
19
  *
17
20
  * const realm = new keycloak.Realm("realm", {
18
- * realm: "my-realm",
19
21
  * enabled: true,
22
+ * realm: "my-realm",
20
23
  * });
21
24
  * const openidClient = new keycloak.openid.Client("openidClient", {
22
- * realmId: realm.id,
25
+ * accessType: "CONFIDENTIAL",
23
26
  * clientId: "test-client",
24
27
  * enabled: true,
25
- * accessType: "CONFIDENTIAL",
28
+ * realmId: realm.id,
26
29
  * validRedirectUris: ["http://localhost:8080/openid-callback"],
27
- * loginTheme: "keycloak",
28
- * extraConfig: {
29
- * key1: "value1",
30
- * key2: "value2",
31
- * },
32
30
  * });
33
31
  * ```
32
+ * <!--End PulumiCodeChooser -->
34
33
  *
35
- * ## Import
34
+ * ### Argument Reference
36
35
  *
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
36
+ * The following arguments are supported:
38
37
  *
39
- * ```sh
40
- * $ pulumi import keycloak:openid/client:Client openid_client my-realm/dcbc4c73-e478-4928-ae2e-d5e420223352
41
- * ```
38
+ * - `realmId` - (Required) The realm this client is attached to.
39
+ * - `clientId` - (Required) The unique ID of this client, referenced in the URI during authentication and in issued tokens.
40
+ * - `name` - (Optional) The display name of this client in the GUI.
41
+ * - `enabled` - (Optional) When false, this client will not be able to initiate a login or obtain access tokens. Defaults to `true`.
42
+ * - `description` - (Optional) The description of this client in the GUI.
43
+ * - `accessType` - (Required) Specifies the type of client, which can be one of the following:
44
+ * - `CONFIDENTIAL` - Used for server-side clients that require both client ID and secret when authenticating.
45
+ * This client should be used for applications using the Authorization Code or Client Credentials grant flows.
46
+ * - `PUBLIC` - Used for browser-only applications that do not require a client secret, and instead rely only on authorized redirect
47
+ * URIs for security. This client should be used for applications using the Implicit grant flow.
48
+ * - `BEARER-ONLY` - Used for services that never initiate a login. This client will only allow bearer token requests.
49
+ * - `clientSecret` - (Optional) The secret for clients with an `accessType` of `CONFIDENTIAL` or `BEARER-ONLY`. This value is sensitive and
50
+ * should be treated with the same care as a password. If omitted, Keycloak will generate a GUID for this attribute.
51
+ * - `standardFlowEnabled` - (Optional) When `true`, the OAuth2 Authorization Code Grant will be enabled for this client. Defaults to `false`.
52
+ * - `implicitFlowEnabled` - (Optional) When `true`, the OAuth2 Implicit Grant will be enabled for this client. Defaults to `false`.
53
+ * - `directAccessGrantsEnabled` - (Optional) When `true`, the OAuth2 Resource Owner Password Grant will be enabled for this client. Defaults to `false`.
54
+ * - `serviceAccountsEnabled` - (Optional) When `true`, the OAuth2 Client Credentials grant will be enabled for this client. Defaults to `false`.
55
+ * - `validRedirectUris` - (Optional) A list of valid URIs a browser is permitted to redirect to after a successful login or logout. Simple
56
+ * wildcards in the form of an asterisk can be used here. This attribute must be set if either `standardFlowEnabled` or `implicitFlowEnabled`
57
+ * is set to `true`.
58
+ * - `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.
59
+ * - `adminUrl` - (Optional) URL to the admin interface of the client.
60
+ * - `baseUrl` - (Optional) Default URL to use when the auth server needs to redirect or link back to the client.
61
+ * - `pkceCodeChallengeMethod` - (Optional) The challenge method to use for Proof Key for Code Exchange. Can be either `plain` or `S256` or set to empty value ``.
62
+ * - `fullScopeAllowed` - (Optional) - Allow to include all roles mappings in the access token.
63
+ *
64
+ * ### Attributes Reference
65
+ *
66
+ * In addition to the arguments listed above, the following computed attributes are exported:
67
+ *
68
+ * - `serviceAccountUserId` - When service accounts are enabled for this client, this attribute is the unique ID for the Keycloak user that represents this service account.
69
+ *
70
+ * ### Import
71
+ *
72
+ * Clients can be imported using the format `{{realm_id}}/{{client_keycloak_id}}`, where `clientKeycloakId` is the unique ID that Keycloak
73
+ * 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.
74
+ *
75
+ * Example:
42
76
  */
43
77
  export declare class Client extends pulumi.CustomResource {
44
78
  /**
@@ -56,194 +90,53 @@ export declare class Client extends pulumi.CustomResource {
56
90
  * when multiple copies of the Pulumi SDK have been loaded into the same process.
57
91
  */
58
92
  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
93
  readonly accessTokenLifespan: pulumi.Output<string>;
63
- /**
64
- * Specifies the type of client, which can be one of the following:
65
- */
66
94
  readonly accessType: pulumi.Output<string>;
67
- /**
68
- * URL to the admin interface of the client.
69
- */
70
95
  readonly adminUrl: pulumi.Output<string>;
71
- /**
72
- * Override realm authentication flow bindings
73
- */
74
96
  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
97
  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
98
  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
99
  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
100
  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
101
  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
102
  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
103
  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
104
  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
105
  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
106
  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
107
  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
108
  readonly clientSessionMaxLifespan: pulumi.Output<string>;
127
- /**
128
- * When `true`, users have to consent to client access. Defaults to `false`.
129
- */
130
109
  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
110
  readonly consentScreenText: pulumi.Output<string>;
135
- /**
136
- * The description of this client in the GUI.
137
- */
138
111
  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
112
  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
113
  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
114
  readonly enabled: pulumi.Output<boolean | undefined>;
151
- /**
152
- * When `true`, the parameter `sessionState` will not be included in OpenID Connect Authentication Response.
153
- */
154
115
  readonly excludeSessionStateFromAuthResponse: pulumi.Output<boolean>;
155
116
  readonly extraConfig: pulumi.Output<{
156
117
  [key: string]: any;
157
118
  } | undefined>;
158
- /**
159
- * When `true`, frontchannel logout will be enabled for this client. Specify the url with `frontchannelLogoutUrl`. Defaults to `false`.
160
- */
161
119
  readonly frontchannelLogoutEnabled: pulumi.Output<boolean>;
162
- /**
163
- * The frontchannel logout url. This is applicable only when `frontchannelLogoutEnabled` is `true`.
164
- */
165
120
  readonly frontchannelLogoutUrl: pulumi.Output<string | undefined>;
166
- /**
167
- * Allow to include all roles mappings in the access token.
168
- */
169
121
  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
122
  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
123
  readonly import: pulumi.Output<boolean | undefined>;
178
- /**
179
- * The client login theme. This will override the default theme for the realm.
180
- */
181
124
  readonly loginTheme: pulumi.Output<string | undefined>;
182
- /**
183
- * The display name of this client in the GUI.
184
- */
185
125
  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
126
  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
127
  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
128
  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
129
  readonly pkceCodeChallengeMethod: pulumi.Output<string | undefined>;
202
- /**
203
- * The realm this client is attached to.
204
- */
205
130
  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
131
  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
132
  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
133
  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
134
  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
135
  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
136
  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
137
  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
138
  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
139
  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
140
  readonly webOrigins: pulumi.Output<string[]>;
248
141
  /**
249
142
  * Create a Client resource with the given unique name, arguments, and options.
@@ -258,379 +151,103 @@ export declare class Client extends pulumi.CustomResource {
258
151
  * Input properties used for looking up and filtering Client resources.
259
152
  */
260
153
  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
154
  accessTokenLifespan?: pulumi.Input<string>;
265
- /**
266
- * Specifies the type of client, which can be one of the following:
267
- */
268
155
  accessType?: pulumi.Input<string>;
269
- /**
270
- * URL to the admin interface of the client.
271
- */
272
156
  adminUrl?: pulumi.Input<string>;
273
- /**
274
- * Override realm authentication flow bindings
275
- */
276
157
  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
158
  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
159
  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
160
  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
161
  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
162
  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
163
  clientAuthenticatorType?: pulumi.Input<string>;
305
- /**
306
- * The Client ID for this client, referenced in the URI during authentication and in issued tokens.
307
- */
308
164
  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
165
  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
166
  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
167
  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
168
  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
169
  clientSessionMaxLifespan?: pulumi.Input<string>;
329
- /**
330
- * When `true`, users have to consent to client access. Defaults to `false`.
331
- */
332
170
  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
171
  consentScreenText?: pulumi.Input<string>;
337
- /**
338
- * The description of this client in the GUI.
339
- */
340
172
  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
173
  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
174
  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
175
  enabled?: pulumi.Input<boolean>;
353
- /**
354
- * When `true`, the parameter `sessionState` will not be included in OpenID Connect Authentication Response.
355
- */
356
176
  excludeSessionStateFromAuthResponse?: pulumi.Input<boolean>;
357
177
  extraConfig?: pulumi.Input<{
358
178
  [key: string]: any;
359
179
  }>;
360
- /**
361
- * When `true`, frontchannel logout will be enabled for this client. Specify the url with `frontchannelLogoutUrl`. Defaults to `false`.
362
- */
363
180
  frontchannelLogoutEnabled?: pulumi.Input<boolean>;
364
- /**
365
- * The frontchannel logout url. This is applicable only when `frontchannelLogoutEnabled` is `true`.
366
- */
367
181
  frontchannelLogoutUrl?: pulumi.Input<string>;
368
- /**
369
- * Allow to include all roles mappings in the access token.
370
- */
371
182
  fullScopeAllowed?: pulumi.Input<boolean>;
372
- /**
373
- * When `true`, the OAuth2 Implicit Grant will be enabled for this client. Defaults to `false`.
374
- */
375
183
  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
184
  import?: pulumi.Input<boolean>;
380
- /**
381
- * The client login theme. This will override the default theme for the realm.
382
- */
383
185
  loginTheme?: pulumi.Input<string>;
384
- /**
385
- * The display name of this client in the GUI.
386
- */
387
186
  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
187
  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
188
  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
189
  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
190
  pkceCodeChallengeMethod?: pulumi.Input<string>;
404
- /**
405
- * The realm this client is attached to.
406
- */
407
191
  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
192
  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
193
  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
194
  serviceAccountUserId?: pulumi.Input<string>;
420
- /**
421
- * When `true`, the OAuth2 Client Credentials grant will be enabled for this client. Defaults to `false`.
422
- */
423
195
  serviceAccountsEnabled?: pulumi.Input<boolean>;
424
- /**
425
- * When `true`, the OAuth2 Authorization Code Grant will be enabled for this client. Defaults to `false`.
426
- */
427
196
  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
197
  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
198
  useRefreshTokensClientCredentials?: pulumi.Input<boolean>;
436
- /**
437
- * A list of valid URIs a browser is permitted to redirect to after a successful logout.
438
- */
439
199
  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
200
  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
201
  webOrigins?: pulumi.Input<pulumi.Input<string>[]>;
450
202
  }
451
203
  /**
452
204
  * The set of arguments for constructing a Client resource.
453
205
  */
454
206
  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
207
  accessTokenLifespan?: pulumi.Input<string>;
459
- /**
460
- * Specifies the type of client, which can be one of the following:
461
- */
462
208
  accessType: pulumi.Input<string>;
463
- /**
464
- * URL to the admin interface of the client.
465
- */
466
209
  adminUrl?: pulumi.Input<string>;
467
- /**
468
- * Override realm authentication flow bindings
469
- */
470
210
  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
211
  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
212
  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
213
  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
214
  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
215
  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
216
  clientAuthenticatorType?: pulumi.Input<string>;
499
- /**
500
- * The Client ID for this client, referenced in the URI during authentication and in issued tokens.
501
- */
502
217
  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
218
  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
219
  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
220
  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
221
  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
222
  clientSessionMaxLifespan?: pulumi.Input<string>;
523
- /**
524
- * When `true`, users have to consent to client access. Defaults to `false`.
525
- */
526
223
  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
224
  consentScreenText?: pulumi.Input<string>;
531
- /**
532
- * The description of this client in the GUI.
533
- */
534
225
  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
226
  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
227
  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
228
  enabled?: pulumi.Input<boolean>;
547
- /**
548
- * When `true`, the parameter `sessionState` will not be included in OpenID Connect Authentication Response.
549
- */
550
229
  excludeSessionStateFromAuthResponse?: pulumi.Input<boolean>;
551
230
  extraConfig?: pulumi.Input<{
552
231
  [key: string]: any;
553
232
  }>;
554
- /**
555
- * When `true`, frontchannel logout will be enabled for this client. Specify the url with `frontchannelLogoutUrl`. Defaults to `false`.
556
- */
557
233
  frontchannelLogoutEnabled?: pulumi.Input<boolean>;
558
- /**
559
- * The frontchannel logout url. This is applicable only when `frontchannelLogoutEnabled` is `true`.
560
- */
561
234
  frontchannelLogoutUrl?: pulumi.Input<string>;
562
- /**
563
- * Allow to include all roles mappings in the access token.
564
- */
565
235
  fullScopeAllowed?: pulumi.Input<boolean>;
566
- /**
567
- * When `true`, the OAuth2 Implicit Grant will be enabled for this client. Defaults to `false`.
568
- */
569
236
  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
237
  import?: pulumi.Input<boolean>;
574
- /**
575
- * The client login theme. This will override the default theme for the realm.
576
- */
577
238
  loginTheme?: pulumi.Input<string>;
578
- /**
579
- * The display name of this client in the GUI.
580
- */
581
239
  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
240
  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
241
  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
242
  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
243
  pkceCodeChallengeMethod?: pulumi.Input<string>;
598
- /**
599
- * The realm this client is attached to.
600
- */
601
244
  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
245
  rootUrl?: pulumi.Input<string>;
606
- /**
607
- * When `true`, the OAuth2 Client Credentials grant will be enabled for this client. Defaults to `false`.
608
- */
609
246
  serviceAccountsEnabled?: pulumi.Input<boolean>;
610
- /**
611
- * When `true`, the OAuth2 Authorization Code Grant will be enabled for this client. Defaults to `false`.
612
- */
613
247
  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
248
  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
249
  useRefreshTokensClientCredentials?: pulumi.Input<boolean>;
622
- /**
623
- * A list of valid URIs a browser is permitted to redirect to after a successful logout.
624
- */
625
250
  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
251
  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
252
  webOrigins?: pulumi.Input<pulumi.Input<string>[]>;
636
253
  }