@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.
- package/attributeImporterIdentityProviderMapper.d.ts +45 -63
- package/attributeImporterIdentityProviderMapper.js +24 -33
- package/attributeImporterIdentityProviderMapper.js.map +1 -1
- package/attributeToRoleIdentityMapper.d.ts +14 -6
- package/attributeToRoleIdentityMapper.js +14 -6
- package/attributeToRoleIdentityMapper.js.map +1 -1
- package/authentication/bindings.d.ts +3 -3
- package/authentication/bindings.js +3 -3
- package/authentication/execution.d.ts +8 -4
- package/authentication/execution.js +8 -4
- package/authentication/execution.js.map +1 -1
- package/authentication/executionConfig.d.ts +10 -2
- package/authentication/executionConfig.js +10 -2
- package/authentication/executionConfig.js.map +1 -1
- package/authentication/flow.d.ts +14 -2
- package/authentication/flow.js +14 -2
- package/authentication/flow.js.map +1 -1
- package/authentication/subflow.d.ts +16 -2
- package/authentication/subflow.js +16 -2
- package/authentication/subflow.js.map +1 -1
- package/customIdentityProviderMapping.d.ts +12 -5
- package/customIdentityProviderMapping.js +12 -5
- package/customIdentityProviderMapping.js.map +1 -1
- package/customUserFederation.d.ts +48 -48
- package/customUserFederation.js +24 -12
- package/customUserFederation.js.map +1 -1
- package/defaultGroups.d.ts +19 -26
- package/defaultGroups.js +19 -8
- package/defaultGroups.js.map +1 -1
- package/defaultRoles.d.ts +12 -3
- package/defaultRoles.js +12 -3
- package/defaultRoles.js.map +1 -1
- package/genericClientProtocolMapper.d.ts +36 -34
- package/genericClientProtocolMapper.js +21 -10
- package/genericClientProtocolMapper.js.map +1 -1
- package/genericClientRoleMapper.d.ts +42 -15
- package/genericClientRoleMapper.js +42 -15
- package/genericClientRoleMapper.js.map +1 -1
- package/genericProtocolMapper.d.ts +9 -4
- package/genericProtocolMapper.js +9 -4
- package/genericProtocolMapper.js.map +1 -1
- package/genericRoleMapper.d.ts +42 -15
- package/genericRoleMapper.js +42 -15
- package/genericRoleMapper.js.map +1 -1
- package/getClientDescriptionConverter.d.ts +50 -50
- package/getClientDescriptionConverter.js +50 -50
- package/getGroup.d.ts +4 -62
- package/getGroup.js +4 -50
- package/getGroup.js.map +1 -1
- package/getRealm.d.ts +36 -10
- package/getRealm.js +36 -4
- package/getRealm.js.map +1 -1
- package/getRealmKeys.d.ts +8 -28
- package/getRealmKeys.js +8 -4
- package/getRealmKeys.js.map +1 -1
- package/getRole.d.ts +4 -65
- package/getRole.js +4 -44
- package/getRole.js.map +1 -1
- package/getUser.d.ts +2 -0
- package/getUser.js +2 -0
- package/getUser.js.map +1 -1
- package/getUserRealmRoles.d.ts +4 -0
- package/getUserRealmRoles.js +4 -0
- package/getUserRealmRoles.js.map +1 -1
- package/group.d.ts +37 -57
- package/group.js +37 -15
- package/group.js.map +1 -1
- package/groupMemberships.d.ts +28 -43
- package/groupMemberships.js +28 -16
- package/groupMemberships.js.map +1 -1
- package/groupPermissions.d.ts +13 -0
- package/groupPermissions.js +13 -0
- package/groupPermissions.js.map +1 -1
- package/groupRoles.d.ts +35 -90
- package/groupRoles.js +35 -54
- package/groupRoles.js.map +1 -1
- package/hardcodedAttributeIdentityProviderMapper.d.ts +4 -3
- package/hardcodedAttributeIdentityProviderMapper.js +4 -3
- package/hardcodedAttributeIdentityProviderMapper.js.map +1 -1
- package/hardcodedRoleIdentityMapper.d.ts +6 -4
- package/hardcodedRoleIdentityMapper.js +6 -4
- package/hardcodedRoleIdentityMapper.js.map +1 -1
- package/identityProviderTokenExchangeScopePermission.d.ts +13 -6
- package/identityProviderTokenExchangeScopePermission.js +13 -6
- package/identityProviderTokenExchangeScopePermission.js.map +1 -1
- package/ldap/customMapper.d.ts +14 -6
- package/ldap/customMapper.js +14 -6
- package/ldap/customMapper.js.map +1 -1
- package/ldap/fullNameMapper.d.ts +35 -48
- package/ldap/fullNameMapper.js +26 -12
- package/ldap/fullNameMapper.js.map +1 -1
- package/ldap/groupMapper.d.ts +47 -156
- package/ldap/groupMapper.js +38 -12
- package/ldap/groupMapper.js.map +1 -1
- package/ldap/hardcodedAttributeMapper.d.ts +12 -4
- package/ldap/hardcodedAttributeMapper.js +12 -4
- package/ldap/hardcodedAttributeMapper.js.map +1 -1
- package/ldap/hardcodedGroupMapper.d.ts +16 -5
- package/ldap/hardcodedGroupMapper.js +16 -5
- package/ldap/hardcodedGroupMapper.js.map +1 -1
- package/ldap/hardcodedRoleMapper.d.ts +31 -66
- package/ldap/hardcodedRoleMapper.js +19 -54
- package/ldap/hardcodedRoleMapper.js.map +1 -1
- package/ldap/msadLdsUserAccountControlMapper.d.ts +12 -4
- package/ldap/msadLdsUserAccountControlMapper.js +12 -4
- package/ldap/msadLdsUserAccountControlMapper.js.map +1 -1
- package/ldap/msadUserAccountControlMapper.d.ts +29 -27
- package/ldap/msadUserAccountControlMapper.js +20 -9
- package/ldap/msadUserAccountControlMapper.js.map +1 -1
- package/ldap/roleMapper.d.ts +12 -4
- package/ldap/roleMapper.js +12 -4
- package/ldap/roleMapper.js.map +1 -1
- package/ldap/userAttributeMapper.d.ts +54 -39
- package/ldap/userAttributeMapper.js +24 -9
- package/ldap/userAttributeMapper.js.map +1 -1
- package/ldap/userFederation.d.ts +117 -88
- package/ldap/userFederation.js +45 -13
- package/ldap/userFederation.js.map +1 -1
- package/oidc/googleIdentityProvider.d.ts +8 -4
- package/oidc/googleIdentityProvider.js +8 -4
- package/oidc/googleIdentityProvider.js.map +1 -1
- package/oidc/identityProvider.d.ts +7 -3
- package/oidc/identityProvider.js +7 -3
- package/oidc/identityProvider.js.map +1 -1
- package/openid/audienceProtocolMapper.d.ts +62 -43
- package/openid/audienceProtocolMapper.js +38 -19
- package/openid/audienceProtocolMapper.js.map +1 -1
- package/openid/audienceResolveProtocolMapper.d.ts +22 -7
- package/openid/audienceResolveProtocolMapper.js +22 -7
- package/openid/audienceResolveProtocolMapper.js.map +1 -1
- package/openid/audienceResolveProtocolMappter.d.ts +22 -7
- package/openid/audienceResolveProtocolMappter.js +22 -7
- package/openid/audienceResolveProtocolMappter.js.map +1 -1
- package/openid/client.d.ts +45 -429
- package/openid/client.js +45 -12
- package/openid/client.js.map +1 -1
- package/openid/clientAuthorizationPermission.d.ts +6 -2
- package/openid/clientAuthorizationPermission.js +6 -2
- package/openid/clientAuthorizationPermission.js.map +1 -1
- package/openid/clientDefaultScopes.d.ts +16 -31
- package/openid/clientDefaultScopes.js +16 -4
- package/openid/clientDefaultScopes.js.map +1 -1
- package/openid/clientOptionalScopes.d.ts +16 -32
- package/openid/clientOptionalScopes.js +16 -5
- package/openid/clientOptionalScopes.js.map +1 -1
- package/openid/clientPolicy.d.ts +5 -3
- package/openid/clientPolicy.js +5 -3
- package/openid/clientPolicy.js.map +1 -1
- package/openid/clientScope.d.ts +25 -66
- package/openid/clientScope.js +25 -12
- package/openid/clientScope.js.map +1 -1
- package/openid/clientServiceAccountRealmRole.d.ts +12 -4
- package/openid/clientServiceAccountRealmRole.js +12 -4
- package/openid/clientServiceAccountRealmRole.js.map +1 -1
- package/openid/clientServiceAccountRole.d.ts +14 -5
- package/openid/clientServiceAccountRole.js +14 -5
- package/openid/clientServiceAccountRole.js.map +1 -1
- package/openid/fullNameProtocolMapper.d.ts +49 -59
- package/openid/fullNameProtocolMapper.js +37 -20
- package/openid/fullNameProtocolMapper.js.map +1 -1
- package/openid/getClient.d.ts +30 -14
- package/openid/getClient.js +30 -2
- package/openid/getClient.js.map +1 -1
- package/openid/getClientAuthorizationPolicy.d.ts +8 -2
- package/openid/getClientAuthorizationPolicy.js +8 -2
- package/openid/getClientAuthorizationPolicy.js.map +1 -1
- package/openid/getClientScope.d.ts +4 -2
- package/openid/getClientScope.js +4 -2
- package/openid/getClientScope.js.map +1 -1
- package/openid/getClientServiceAccountUser.d.ts +4 -2
- package/openid/getClientServiceAccountUser.js +4 -2
- package/openid/getClientServiceAccountUser.js.map +1 -1
- package/openid/groupMembershipProtocolMapper.d.ts +51 -77
- package/openid/groupMembershipProtocolMapper.js +39 -20
- package/openid/groupMembershipProtocolMapper.js.map +1 -1
- package/openid/hardcodedClaimProtocolMapper.d.ts +64 -62
- package/openid/hardcodedClaimProtocolMapper.js +40 -20
- package/openid/hardcodedClaimProtocolMapper.js.map +1 -1
- package/openid/hardcodedRoleProtocolMapper.d.ts +56 -43
- package/openid/hardcodedRoleProtocolMapper.js +44 -22
- package/openid/hardcodedRoleProtocolMapper.js.map +1 -1
- package/openid/scriptProtocolMapper.d.ts +23 -7
- package/openid/scriptProtocolMapper.js +23 -7
- package/openid/scriptProtocolMapper.js.map +1 -1
- package/openid/userAttributeProtocolMapper.d.ts +71 -68
- package/openid/userAttributeProtocolMapper.js +41 -20
- package/openid/userAttributeProtocolMapper.js.map +1 -1
- package/openid/userClientRoleProtocolMapper.d.ts +23 -7
- package/openid/userClientRoleProtocolMapper.js +23 -7
- package/openid/userClientRoleProtocolMapper.js.map +1 -1
- package/openid/userPropertyProtocolMapper.d.ts +64 -63
- package/openid/userPropertyProtocolMapper.js +40 -21
- package/openid/userPropertyProtocolMapper.js.map +1 -1
- package/openid/userRealmRoleProtocolMapper.d.ts +71 -59
- package/openid/userRealmRoleProtocolMapper.js +41 -20
- package/openid/userRealmRoleProtocolMapper.js.map +1 -1
- package/openid/userSessionNoteProtocolMapper.d.ts +23 -7
- package/openid/userSessionNoteProtocolMapper.js +23 -7
- package/openid/userSessionNoteProtocolMapper.js.map +1 -1
- package/package.json +1 -1
- package/realm.d.ts +30 -509
- package/realm.js +0 -83
- package/realm.js.map +1 -1
- package/realmEvents.d.ts +15 -71
- package/realmEvents.js +15 -8
- package/realmEvents.js.map +1 -1
- package/realmKeystoreAesGenerated.d.ts +8 -3
- package/realmKeystoreAesGenerated.js +8 -3
- package/realmKeystoreAesGenerated.js.map +1 -1
- package/realmKeystoreEcdsaGenerated.d.ts +8 -3
- package/realmKeystoreEcdsaGenerated.js +8 -3
- package/realmKeystoreEcdsaGenerated.js.map +1 -1
- package/realmKeystoreHmacGenerated.d.ts +8 -3
- package/realmKeystoreHmacGenerated.js +8 -3
- package/realmKeystoreHmacGenerated.js.map +1 -1
- package/realmKeystoreJavaGenerated.d.ts +8 -3
- package/realmKeystoreJavaGenerated.js +8 -3
- package/realmKeystoreJavaGenerated.js.map +1 -1
- package/realmKeystoreRsa.d.ts +6 -2
- package/realmKeystoreRsa.js +6 -2
- package/realmKeystoreRsa.js.map +1 -1
- package/realmKeystoreRsaGenerated.d.ts +8 -3
- package/realmKeystoreRsaGenerated.js +8 -3
- package/realmKeystoreRsaGenerated.js.map +1 -1
- package/realmUserProfile.d.ts +1 -1
- package/realmUserProfile.js +1 -1
- package/requiredAction.d.ts +8 -3
- package/requiredAction.js +8 -3
- package/requiredAction.js.map +1 -1
- package/role.d.ts +57 -110
- package/role.js +57 -56
- package/role.js.map +1 -1
- package/saml/client.d.ts +9 -344
- package/saml/client.js +9 -29
- package/saml/client.js.map +1 -1
- package/saml/clientDefaultScope.d.ts +0 -33
- package/saml/clientDefaultScope.js +0 -33
- package/saml/clientDefaultScope.js.map +1 -1
- package/saml/clientScope.d.ts +10 -3
- package/saml/clientScope.js +10 -3
- package/saml/clientScope.js.map +1 -1
- package/saml/getClient.d.ts +2 -0
- package/saml/getClient.js +2 -0
- package/saml/getClient.js.map +1 -1
- package/saml/getClientInstallationProvider.d.ts +0 -62
- package/saml/getClientInstallationProvider.js +0 -62
- package/saml/getClientInstallationProvider.js.map +1 -1
- package/saml/identityProvider.d.ts +155 -111
- package/saml/identityProvider.js +44 -15
- package/saml/identityProvider.js.map +1 -1
- package/saml/scriptProtocolMapper.d.ts +15 -5
- package/saml/scriptProtocolMapper.js +15 -5
- package/saml/scriptProtocolMapper.js.map +1 -1
- package/saml/userAttributeProtocolMapper.d.ts +32 -91
- package/saml/userAttributeProtocolMapper.js +32 -19
- package/saml/userAttributeProtocolMapper.js.map +1 -1
- package/saml/userPropertyProtocolMapper.d.ts +32 -91
- package/saml/userPropertyProtocolMapper.js +32 -19
- package/saml/userPropertyProtocolMapper.js.map +1 -1
- package/types/input.d.ts +74 -231
- package/types/output.d.ts +44 -255
- package/user.d.ts +26 -104
- package/user.js +26 -14
- package/user.js.map +1 -1
- package/userGroups.d.ts +5 -33
- package/userGroups.js +5 -33
- package/userGroups.js.map +1 -1
- package/userRoles.d.ts +16 -6
- package/userRoles.js +16 -6
- package/userRoles.js.map +1 -1
- package/userTemplateImporterIdentityProviderMapper.d.ts +10 -3
- package/userTemplateImporterIdentityProviderMapper.js +10 -3
- package/userTemplateImporterIdentityProviderMapper.js.map +1 -1
- package/usersPermissions.d.ts +10 -25
- package/usersPermissions.js +10 -25
- package/usersPermissions.js.map +1 -1
package/openid/client.d.ts
CHANGED
|
@@ -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
|
-
*
|
|
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("
|
|
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
|
-
*
|
|
33
|
+
* ### Argument Reference
|
|
36
34
|
*
|
|
37
|
-
*
|
|
35
|
+
* The following arguments are supported:
|
|
38
36
|
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
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
|
}
|