@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/clientScope.d.ts
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import * as pulumi from "@pulumi/pulumi";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* ## # keycloak.openid.ClientScope
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* Allows for creating and managing Keycloak client scopes that can be attached to
|
|
6
|
+
* clients that use the OpenID Connect protocol.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
8
|
+
* Client Scopes can be used to share common protocol and role mappings between multiple
|
|
9
|
+
* clients within a realm. They can also be used by clients to conditionally request
|
|
10
|
+
* claims or roles for a user based on the OAuth 2.0 `scope` parameter.
|
|
11
|
+
*
|
|
12
|
+
* ### Example Usage
|
|
9
13
|
*
|
|
10
14
|
* ```typescript
|
|
11
15
|
* import * as pulumi from "@pulumi/pulumi";
|
|
@@ -15,21 +19,30 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
15
19
|
* realm: "my-realm",
|
|
16
20
|
* enabled: true,
|
|
17
21
|
* });
|
|
18
|
-
* const openidClientScope = new keycloak.openid.ClientScope("
|
|
22
|
+
* const openidClientScope = new keycloak.openid.ClientScope("openid_client_scope", {
|
|
19
23
|
* realmId: realm.id,
|
|
24
|
+
* name: "groups",
|
|
20
25
|
* description: "When requested, this scope will map a user's group memberships to a claim",
|
|
21
|
-
* includeInTokenScope: true,
|
|
22
|
-
* guiOrder: 1,
|
|
23
26
|
* });
|
|
24
27
|
* ```
|
|
25
28
|
*
|
|
26
|
-
*
|
|
29
|
+
* ### Argument Reference
|
|
27
30
|
*
|
|
28
|
-
*
|
|
31
|
+
* The following arguments are supported:
|
|
29
32
|
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
+
* - `realmId` - (Required) The realm this client scope belongs to.
|
|
34
|
+
* - `name` - (Required) The display name of this client scope in the GUI.
|
|
35
|
+
* - `description` - (Optional) The description of this client scope in the GUI.
|
|
36
|
+
* - `consentScreenText` - (Optional) When set, a consent screen will be displayed to users
|
|
37
|
+
* authenticating to clients with this scope attached. The consent screen will display the string
|
|
38
|
+
* value of this attribute.
|
|
39
|
+
*
|
|
40
|
+
* ### Import
|
|
41
|
+
*
|
|
42
|
+
* Client scopes can be imported using the format `{{realm_id}}/{{client_scope_id}}`, where `clientScopeId` is the unique ID that Keycloak
|
|
43
|
+
* assigns to the client scope upon creation. This value can be found in the URI when editing this client scope in the GUI, and is typically a GUID.
|
|
44
|
+
*
|
|
45
|
+
* Example:
|
|
33
46
|
*/
|
|
34
47
|
export declare class ClientScope extends pulumi.CustomResource {
|
|
35
48
|
/**
|
|
@@ -47,29 +60,11 @@ export declare class ClientScope extends pulumi.CustomResource {
|
|
|
47
60
|
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
48
61
|
*/
|
|
49
62
|
static isInstance(obj: any): obj is ClientScope;
|
|
50
|
-
/**
|
|
51
|
-
* When set, a consent screen will be displayed to users authenticating to clients with this scope attached. The consent screen will display the string value of this attribute.
|
|
52
|
-
*/
|
|
53
63
|
readonly consentScreenText: pulumi.Output<string | undefined>;
|
|
54
|
-
/**
|
|
55
|
-
* The description of this client scope in the GUI.
|
|
56
|
-
*/
|
|
57
64
|
readonly description: pulumi.Output<string | undefined>;
|
|
58
|
-
/**
|
|
59
|
-
* Specify order of the client scope in GUI (such as in Consent page) as integer.
|
|
60
|
-
*/
|
|
61
65
|
readonly guiOrder: pulumi.Output<number | undefined>;
|
|
62
|
-
/**
|
|
63
|
-
* When `true`, the name of this client scope will be added to the access token property 'scope' as well as to the Token Introspection Endpoint response.
|
|
64
|
-
*/
|
|
65
66
|
readonly includeInTokenScope: pulumi.Output<boolean | undefined>;
|
|
66
|
-
/**
|
|
67
|
-
* The display name of this client scope in the GUI.
|
|
68
|
-
*/
|
|
69
67
|
readonly name: pulumi.Output<string>;
|
|
70
|
-
/**
|
|
71
|
-
* The realm this client scope belongs to.
|
|
72
|
-
*/
|
|
73
68
|
readonly realmId: pulumi.Output<string>;
|
|
74
69
|
/**
|
|
75
70
|
* Create a ClientScope resource with the given unique name, arguments, and options.
|
|
@@ -84,57 +79,21 @@ export declare class ClientScope extends pulumi.CustomResource {
|
|
|
84
79
|
* Input properties used for looking up and filtering ClientScope resources.
|
|
85
80
|
*/
|
|
86
81
|
export interface ClientScopeState {
|
|
87
|
-
/**
|
|
88
|
-
* When set, a consent screen will be displayed to users authenticating to clients with this scope attached. The consent screen will display the string value of this attribute.
|
|
89
|
-
*/
|
|
90
82
|
consentScreenText?: pulumi.Input<string>;
|
|
91
|
-
/**
|
|
92
|
-
* The description of this client scope in the GUI.
|
|
93
|
-
*/
|
|
94
83
|
description?: pulumi.Input<string>;
|
|
95
|
-
/**
|
|
96
|
-
* Specify order of the client scope in GUI (such as in Consent page) as integer.
|
|
97
|
-
*/
|
|
98
84
|
guiOrder?: pulumi.Input<number>;
|
|
99
|
-
/**
|
|
100
|
-
* When `true`, the name of this client scope will be added to the access token property 'scope' as well as to the Token Introspection Endpoint response.
|
|
101
|
-
*/
|
|
102
85
|
includeInTokenScope?: pulumi.Input<boolean>;
|
|
103
|
-
/**
|
|
104
|
-
* The display name of this client scope in the GUI.
|
|
105
|
-
*/
|
|
106
86
|
name?: pulumi.Input<string>;
|
|
107
|
-
/**
|
|
108
|
-
* The realm this client scope belongs to.
|
|
109
|
-
*/
|
|
110
87
|
realmId?: pulumi.Input<string>;
|
|
111
88
|
}
|
|
112
89
|
/**
|
|
113
90
|
* The set of arguments for constructing a ClientScope resource.
|
|
114
91
|
*/
|
|
115
92
|
export interface ClientScopeArgs {
|
|
116
|
-
/**
|
|
117
|
-
* When set, a consent screen will be displayed to users authenticating to clients with this scope attached. The consent screen will display the string value of this attribute.
|
|
118
|
-
*/
|
|
119
93
|
consentScreenText?: pulumi.Input<string>;
|
|
120
|
-
/**
|
|
121
|
-
* The description of this client scope in the GUI.
|
|
122
|
-
*/
|
|
123
94
|
description?: pulumi.Input<string>;
|
|
124
|
-
/**
|
|
125
|
-
* Specify order of the client scope in GUI (such as in Consent page) as integer.
|
|
126
|
-
*/
|
|
127
95
|
guiOrder?: pulumi.Input<number>;
|
|
128
|
-
/**
|
|
129
|
-
* When `true`, the name of this client scope will be added to the access token property 'scope' as well as to the Token Introspection Endpoint response.
|
|
130
|
-
*/
|
|
131
96
|
includeInTokenScope?: pulumi.Input<boolean>;
|
|
132
|
-
/**
|
|
133
|
-
* The display name of this client scope in the GUI.
|
|
134
|
-
*/
|
|
135
97
|
name?: pulumi.Input<string>;
|
|
136
|
-
/**
|
|
137
|
-
* The realm this client scope belongs to.
|
|
138
|
-
*/
|
|
139
98
|
realmId: pulumi.Input<string>;
|
|
140
99
|
}
|
package/openid/clientScope.js
CHANGED
|
@@ -6,12 +6,16 @@ exports.ClientScope = void 0;
|
|
|
6
6
|
const pulumi = require("@pulumi/pulumi");
|
|
7
7
|
const utilities = require("../utilities");
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* ## # keycloak.openid.ClientScope
|
|
10
10
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
11
|
+
* Allows for creating and managing Keycloak client scopes that can be attached to
|
|
12
|
+
* clients that use the OpenID Connect protocol.
|
|
13
13
|
*
|
|
14
|
-
*
|
|
14
|
+
* Client Scopes can be used to share common protocol and role mappings between multiple
|
|
15
|
+
* clients within a realm. They can also be used by clients to conditionally request
|
|
16
|
+
* claims or roles for a user based on the OAuth 2.0 `scope` parameter.
|
|
17
|
+
*
|
|
18
|
+
* ### Example Usage
|
|
15
19
|
*
|
|
16
20
|
* ```typescript
|
|
17
21
|
* import * as pulumi from "@pulumi/pulumi";
|
|
@@ -21,21 +25,30 @@ const utilities = require("../utilities");
|
|
|
21
25
|
* realm: "my-realm",
|
|
22
26
|
* enabled: true,
|
|
23
27
|
* });
|
|
24
|
-
* const openidClientScope = new keycloak.openid.ClientScope("
|
|
28
|
+
* const openidClientScope = new keycloak.openid.ClientScope("openid_client_scope", {
|
|
25
29
|
* realmId: realm.id,
|
|
30
|
+
* name: "groups",
|
|
26
31
|
* description: "When requested, this scope will map a user's group memberships to a claim",
|
|
27
|
-
* includeInTokenScope: true,
|
|
28
|
-
* guiOrder: 1,
|
|
29
32
|
* });
|
|
30
33
|
* ```
|
|
31
34
|
*
|
|
32
|
-
*
|
|
35
|
+
* ### Argument Reference
|
|
33
36
|
*
|
|
34
|
-
*
|
|
37
|
+
* The following arguments are supported:
|
|
35
38
|
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
+
* - `realmId` - (Required) The realm this client scope belongs to.
|
|
40
|
+
* - `name` - (Required) The display name of this client scope in the GUI.
|
|
41
|
+
* - `description` - (Optional) The description of this client scope in the GUI.
|
|
42
|
+
* - `consentScreenText` - (Optional) When set, a consent screen will be displayed to users
|
|
43
|
+
* authenticating to clients with this scope attached. The consent screen will display the string
|
|
44
|
+
* value of this attribute.
|
|
45
|
+
*
|
|
46
|
+
* ### Import
|
|
47
|
+
*
|
|
48
|
+
* Client scopes can be imported using the format `{{realm_id}}/{{client_scope_id}}`, where `clientScopeId` is the unique ID that Keycloak
|
|
49
|
+
* assigns to the client scope upon creation. This value can be found in the URI when editing this client scope in the GUI, and is typically a GUID.
|
|
50
|
+
*
|
|
51
|
+
* Example:
|
|
39
52
|
*/
|
|
40
53
|
class ClientScope extends pulumi.CustomResource {
|
|
41
54
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientScope.js","sourceRoot":"","sources":["../../openid/clientScope.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C
|
|
1
|
+
{"version":3,"file":"clientScope.js","sourceRoot":"","sources":["../../openid/clientScope.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,12 +16,16 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
16
16
|
* realm: "my-realm",
|
|
17
17
|
* enabled: true,
|
|
18
18
|
* });
|
|
19
|
-
* const realmRole = new keycloak.Role("
|
|
19
|
+
* const realmRole = new keycloak.Role("realm_role", {
|
|
20
|
+
* realmId: realm.id,
|
|
21
|
+
* name: "my-realm-role",
|
|
22
|
+
* });
|
|
20
23
|
* const client = new keycloak.openid.Client("client", {
|
|
21
24
|
* realmId: realm.id,
|
|
25
|
+
* name: "client",
|
|
22
26
|
* serviceAccountsEnabled: true,
|
|
23
27
|
* });
|
|
24
|
-
* const clientServiceAccountRole = new keycloak.openid.ClientServiceAccountRealmRole("
|
|
28
|
+
* const clientServiceAccountRole = new keycloak.openid.ClientServiceAccountRealmRole("client_service_account_role", {
|
|
25
29
|
* realmId: realm.id,
|
|
26
30
|
* serviceAccountUserId: client.serviceAccountUserId,
|
|
27
31
|
* role: realmRole.name,
|
|
@@ -30,10 +34,14 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
30
34
|
*
|
|
31
35
|
* ## Import
|
|
32
36
|
*
|
|
33
|
-
* This resource can be imported using the format `{{realmId}}/{{serviceAccountUserId}}/{{roleId}}`.
|
|
37
|
+
* This resource can be imported using the format `{{realmId}}/{{serviceAccountUserId}}/{{roleId}}`.
|
|
38
|
+
*
|
|
39
|
+
* Example:
|
|
40
|
+
*
|
|
41
|
+
* bash
|
|
34
42
|
*
|
|
35
43
|
* ```sh
|
|
36
|
-
*
|
|
44
|
+
* $ pulumi import keycloak:openid/clientServiceAccountRealmRole:ClientServiceAccountRealmRole client_service_account_role my-realm/489ba513-1ceb-49ba-ae0b-1ab1f5099ebf/c7230ab7-8e4e-4135-995d-e81b50696ad8
|
|
37
45
|
* ```
|
|
38
46
|
*/
|
|
39
47
|
export declare class ClientServiceAccountRealmRole extends pulumi.CustomResource {
|
|
@@ -22,12 +22,16 @@ const utilities = require("../utilities");
|
|
|
22
22
|
* realm: "my-realm",
|
|
23
23
|
* enabled: true,
|
|
24
24
|
* });
|
|
25
|
-
* const realmRole = new keycloak.Role("
|
|
25
|
+
* const realmRole = new keycloak.Role("realm_role", {
|
|
26
|
+
* realmId: realm.id,
|
|
27
|
+
* name: "my-realm-role",
|
|
28
|
+
* });
|
|
26
29
|
* const client = new keycloak.openid.Client("client", {
|
|
27
30
|
* realmId: realm.id,
|
|
31
|
+
* name: "client",
|
|
28
32
|
* serviceAccountsEnabled: true,
|
|
29
33
|
* });
|
|
30
|
-
* const clientServiceAccountRole = new keycloak.openid.ClientServiceAccountRealmRole("
|
|
34
|
+
* const clientServiceAccountRole = new keycloak.openid.ClientServiceAccountRealmRole("client_service_account_role", {
|
|
31
35
|
* realmId: realm.id,
|
|
32
36
|
* serviceAccountUserId: client.serviceAccountUserId,
|
|
33
37
|
* role: realmRole.name,
|
|
@@ -36,10 +40,14 @@ const utilities = require("../utilities");
|
|
|
36
40
|
*
|
|
37
41
|
* ## Import
|
|
38
42
|
*
|
|
39
|
-
* This resource can be imported using the format `{{realmId}}/{{serviceAccountUserId}}/{{roleId}}`.
|
|
43
|
+
* This resource can be imported using the format `{{realmId}}/{{serviceAccountUserId}}/{{roleId}}`.
|
|
44
|
+
*
|
|
45
|
+
* Example:
|
|
46
|
+
*
|
|
47
|
+
* bash
|
|
40
48
|
*
|
|
41
49
|
* ```sh
|
|
42
|
-
*
|
|
50
|
+
* $ pulumi import keycloak:openid/clientServiceAccountRealmRole:ClientServiceAccountRealmRole client_service_account_role my-realm/489ba513-1ceb-49ba-ae0b-1ab1f5099ebf/c7230ab7-8e4e-4135-995d-e81b50696ad8
|
|
43
51
|
* ```
|
|
44
52
|
*/
|
|
45
53
|
class ClientServiceAccountRealmRole extends pulumi.CustomResource {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientServiceAccountRealmRole.js","sourceRoot":"","sources":["../../openid/clientServiceAccountRealmRole.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C
|
|
1
|
+
{"version":3,"file":"clientServiceAccountRealmRole.js","sourceRoot":"","sources":["../../openid/clientServiceAccountRealmRole.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAa,6BAA8B,SAAQ,MAAM,CAAC,cAAc;IACpE;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA0C,EAAE,IAAmC;QACxI,OAAO,IAAI,6BAA6B,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IACpF,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,6BAA6B,CAAC,YAAY,CAAC;IAC9E,CAAC;IAuBD,YAAY,IAAY,EAAE,WAAoF,EAAE,IAAmC;QAC/I,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA6D,CAAC;YAC5E,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,cAAc,CAAC,sBAAsB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC;SAC3F;aAAM;YACH,MAAM,IAAI,GAAG,WAA4D,CAAC;YAC1E,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACpD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;aAC1D;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACjD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;aACvD;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,oBAAoB,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACjE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;aACvE;YACD,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACtD,cAAc,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC;SACzF;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,6BAA6B,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAClF,CAAC;;AA1EL,sEA2EC;AA7DG,gBAAgB;AACO,0CAAY,GAAG,6EAA6E,CAAC"}
|
|
@@ -17,18 +17,23 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
17
17
|
* enabled: true,
|
|
18
18
|
* });
|
|
19
19
|
* // client1 provides a role to other clients
|
|
20
|
-
* const client1 = new keycloak.openid.Client("client1", {
|
|
21
|
-
*
|
|
20
|
+
* const client1 = new keycloak.openid.Client("client1", {
|
|
21
|
+
* realmId: realm.id,
|
|
22
|
+
* name: "client1",
|
|
23
|
+
* });
|
|
24
|
+
* const client1Role = new keycloak.Role("client1_role", {
|
|
22
25
|
* realmId: realm.id,
|
|
23
26
|
* clientId: client1.id,
|
|
27
|
+
* name: "my-client1-role",
|
|
24
28
|
* description: "A role that client1 provides",
|
|
25
29
|
* });
|
|
26
30
|
* // client2 is assigned the role of client1
|
|
27
31
|
* const client2 = new keycloak.openid.Client("client2", {
|
|
28
32
|
* realmId: realm.id,
|
|
33
|
+
* name: "client2",
|
|
29
34
|
* serviceAccountsEnabled: true,
|
|
30
35
|
* });
|
|
31
|
-
* const client2ServiceAccountRole = new keycloak.openid.ClientServiceAccountRole("
|
|
36
|
+
* const client2ServiceAccountRole = new keycloak.openid.ClientServiceAccountRole("client2_service_account_role", {
|
|
32
37
|
* realmId: realm.id,
|
|
33
38
|
* serviceAccountUserId: client2.serviceAccountUserId,
|
|
34
39
|
* clientId: client1.id,
|
|
@@ -38,10 +43,14 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
38
43
|
*
|
|
39
44
|
* ## Import
|
|
40
45
|
*
|
|
41
|
-
* This resource can be imported using the format `{{realmId}}/{{serviceAccountUserId}}/{{clientId}}/{{roleId}}`.
|
|
46
|
+
* This resource can be imported using the format `{{realmId}}/{{serviceAccountUserId}}/{{clientId}}/{{roleId}}`.
|
|
47
|
+
*
|
|
48
|
+
* Example:
|
|
49
|
+
*
|
|
50
|
+
* bash
|
|
42
51
|
*
|
|
43
52
|
* ```sh
|
|
44
|
-
*
|
|
53
|
+
* $ pulumi import keycloak:openid/clientServiceAccountRole:ClientServiceAccountRole client2_service_account_role my-realm/489ba513-1ceb-49ba-ae0b-1ab1f5099ebf/baf01820-0f8b-4494-9be2-fb3bc8a397a4/c7230ab7-8e4e-4135-995d-e81b50696ad8
|
|
45
54
|
* ```
|
|
46
55
|
*/
|
|
47
56
|
export declare class ClientServiceAccountRole extends pulumi.CustomResource {
|
|
@@ -23,18 +23,23 @@ const utilities = require("../utilities");
|
|
|
23
23
|
* enabled: true,
|
|
24
24
|
* });
|
|
25
25
|
* // client1 provides a role to other clients
|
|
26
|
-
* const client1 = new keycloak.openid.Client("client1", {
|
|
27
|
-
*
|
|
26
|
+
* const client1 = new keycloak.openid.Client("client1", {
|
|
27
|
+
* realmId: realm.id,
|
|
28
|
+
* name: "client1",
|
|
29
|
+
* });
|
|
30
|
+
* const client1Role = new keycloak.Role("client1_role", {
|
|
28
31
|
* realmId: realm.id,
|
|
29
32
|
* clientId: client1.id,
|
|
33
|
+
* name: "my-client1-role",
|
|
30
34
|
* description: "A role that client1 provides",
|
|
31
35
|
* });
|
|
32
36
|
* // client2 is assigned the role of client1
|
|
33
37
|
* const client2 = new keycloak.openid.Client("client2", {
|
|
34
38
|
* realmId: realm.id,
|
|
39
|
+
* name: "client2",
|
|
35
40
|
* serviceAccountsEnabled: true,
|
|
36
41
|
* });
|
|
37
|
-
* const client2ServiceAccountRole = new keycloak.openid.ClientServiceAccountRole("
|
|
42
|
+
* const client2ServiceAccountRole = new keycloak.openid.ClientServiceAccountRole("client2_service_account_role", {
|
|
38
43
|
* realmId: realm.id,
|
|
39
44
|
* serviceAccountUserId: client2.serviceAccountUserId,
|
|
40
45
|
* clientId: client1.id,
|
|
@@ -44,10 +49,14 @@ const utilities = require("../utilities");
|
|
|
44
49
|
*
|
|
45
50
|
* ## Import
|
|
46
51
|
*
|
|
47
|
-
* This resource can be imported using the format `{{realmId}}/{{serviceAccountUserId}}/{{clientId}}/{{roleId}}`.
|
|
52
|
+
* This resource can be imported using the format `{{realmId}}/{{serviceAccountUserId}}/{{clientId}}/{{roleId}}`.
|
|
53
|
+
*
|
|
54
|
+
* Example:
|
|
55
|
+
*
|
|
56
|
+
* bash
|
|
48
57
|
*
|
|
49
58
|
* ```sh
|
|
50
|
-
*
|
|
59
|
+
* $ pulumi import keycloak:openid/clientServiceAccountRole:ClientServiceAccountRole client2_service_account_role my-realm/489ba513-1ceb-49ba-ae0b-1ab1f5099ebf/baf01820-0f8b-4494-9be2-fb3bc8a397a4/c7230ab7-8e4e-4135-995d-e81b50696ad8
|
|
51
60
|
* ```
|
|
52
61
|
*/
|
|
53
62
|
class ClientServiceAccountRole extends pulumi.CustomResource {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientServiceAccountRole.js","sourceRoot":"","sources":["../../openid/clientServiceAccountRole.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C
|
|
1
|
+
{"version":3,"file":"clientServiceAccountRole.js","sourceRoot":"","sources":["../../openid/clientServiceAccountRole.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import * as pulumi from "@pulumi/pulumi";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* ## # keycloak.openid.FullNameProtocolMapper
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Allows for creating and managing full name protocol mappers within
|
|
6
|
+
* Keycloak.
|
|
6
7
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
8
|
+
* Full name protocol mappers allow you to map a user's first and last name
|
|
9
|
+
* to the OpenID Connect `name` claim in a token. Protocol mappers can be defined
|
|
10
|
+
* for a single client, or they can be defined for a client scope which can
|
|
11
|
+
* be shared between multiple different clients.
|
|
9
12
|
*
|
|
10
|
-
*
|
|
11
|
-
* ### Client)
|
|
13
|
+
* ### Example Usage (Client)
|
|
12
14
|
*
|
|
13
15
|
* ```typescript
|
|
14
16
|
* import * as pulumi from "@pulumi/pulumi";
|
|
@@ -18,19 +20,22 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
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
|
-
* clientId: "client",
|
|
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
30
|
* });
|
|
28
|
-
* const fullNameMapper = new keycloak.openid.FullNameProtocolMapper("
|
|
31
|
+
* const fullNameMapper = new keycloak.openid.FullNameProtocolMapper("full_name_mapper", {
|
|
29
32
|
* realmId: realm.id,
|
|
30
33
|
* clientId: openidClient.id,
|
|
34
|
+
* name: "full-name-mapper",
|
|
31
35
|
* });
|
|
32
36
|
* ```
|
|
33
|
-
*
|
|
37
|
+
*
|
|
38
|
+
* ### Example Usage (Client Scope)
|
|
34
39
|
*
|
|
35
40
|
* ```typescript
|
|
36
41
|
* import * as pulumi from "@pulumi/pulumi";
|
|
@@ -40,24 +45,36 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
40
45
|
* realm: "my-realm",
|
|
41
46
|
* enabled: true,
|
|
42
47
|
* });
|
|
43
|
-
* const clientScope = new keycloak.openid.ClientScope("
|
|
44
|
-
*
|
|
48
|
+
* const clientScope = new keycloak.openid.ClientScope("client_scope", {
|
|
49
|
+
* realmId: realm.id,
|
|
50
|
+
* name: "test-client-scope",
|
|
51
|
+
* });
|
|
52
|
+
* const fullNameMapper = new keycloak.openid.FullNameProtocolMapper("full_name_mapper", {
|
|
45
53
|
* realmId: realm.id,
|
|
46
54
|
* clientScopeId: clientScope.id,
|
|
55
|
+
* name: "full-name-mapper",
|
|
47
56
|
* });
|
|
48
57
|
* ```
|
|
49
58
|
*
|
|
50
|
-
*
|
|
59
|
+
* ### Argument Reference
|
|
51
60
|
*
|
|
52
|
-
*
|
|
61
|
+
* The following arguments are supported:
|
|
53
62
|
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
63
|
+
* - `realmId` - (Required) The realm this protocol mapper exists within.
|
|
64
|
+
* - `clientId` - (Required if `clientScopeId` is not specified) The client this protocol mapper is attached to.
|
|
65
|
+
* - `clientScopeId` - (Required if `clientId` is not specified) The client scope this protocol mapper is attached to.
|
|
66
|
+
* - `name` - (Required) The display name of this protocol mapper in the GUI.
|
|
67
|
+
* - `addToIdToken` - (Optional) Indicates if the user's full name should be added as a claim to the id token. Defaults to `true`.
|
|
68
|
+
* - `addToAccessToken` - (Optional) Indicates if the user's full name should be added as a claim to the access token. Defaults to `true`.
|
|
69
|
+
* - `addToUserinfo` - (Optional) Indicates if the user's full name should be added as a claim to the UserInfo response body. Defaults to `true`.
|
|
57
70
|
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
71
|
+
* ### Import
|
|
72
|
+
*
|
|
73
|
+
* Protocol mappers can be imported using one of the following formats:
|
|
74
|
+
* - Client: `{{realm_id}}/client/{{client_keycloak_id}}/{{protocol_mapper_id}}`
|
|
75
|
+
* - Client Scope: `{{realm_id}}/client-scope/{{client_scope_keycloak_id}}/{{protocol_mapper_id}}`
|
|
76
|
+
*
|
|
77
|
+
* Example:
|
|
61
78
|
*/
|
|
62
79
|
export declare class FullNameProtocolMapper extends pulumi.CustomResource {
|
|
63
80
|
/**
|
|
@@ -75,32 +92,23 @@ export declare class FullNameProtocolMapper extends pulumi.CustomResource {
|
|
|
75
92
|
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
76
93
|
*/
|
|
77
94
|
static isInstance(obj: any): obj is FullNameProtocolMapper;
|
|
78
|
-
/**
|
|
79
|
-
* Indicates if the user's full name should be added as a claim to the access token. Defaults to `true`.
|
|
80
|
-
*/
|
|
81
95
|
readonly addToAccessToken: pulumi.Output<boolean | undefined>;
|
|
82
|
-
/**
|
|
83
|
-
* Indicates if the user's full name should be added as a claim to the id token. Defaults to `true`.
|
|
84
|
-
*/
|
|
85
96
|
readonly addToIdToken: pulumi.Output<boolean | undefined>;
|
|
86
|
-
/**
|
|
87
|
-
* Indicates if the user's full name should be added as a claim to the UserInfo response body. Defaults to `true`.
|
|
88
|
-
*/
|
|
89
97
|
readonly addToUserinfo: pulumi.Output<boolean | undefined>;
|
|
90
98
|
/**
|
|
91
|
-
* The
|
|
99
|
+
* The mapper's associated client. Cannot be used at the same time as client_scope_id.
|
|
92
100
|
*/
|
|
93
101
|
readonly clientId: pulumi.Output<string | undefined>;
|
|
94
102
|
/**
|
|
95
|
-
* The
|
|
103
|
+
* The mapper's associated client scope. Cannot be used at the same time as client_id.
|
|
96
104
|
*/
|
|
97
105
|
readonly clientScopeId: pulumi.Output<string | undefined>;
|
|
98
106
|
/**
|
|
99
|
-
*
|
|
107
|
+
* A human-friendly name that will appear in the Keycloak console.
|
|
100
108
|
*/
|
|
101
109
|
readonly name: pulumi.Output<string>;
|
|
102
110
|
/**
|
|
103
|
-
* The realm
|
|
111
|
+
* The realm id where the associated client or client scope exists.
|
|
104
112
|
*/
|
|
105
113
|
readonly realmId: pulumi.Output<string>;
|
|
106
114
|
/**
|
|
@@ -116,32 +124,23 @@ export declare class FullNameProtocolMapper extends pulumi.CustomResource {
|
|
|
116
124
|
* Input properties used for looking up and filtering FullNameProtocolMapper resources.
|
|
117
125
|
*/
|
|
118
126
|
export interface FullNameProtocolMapperState {
|
|
119
|
-
/**
|
|
120
|
-
* Indicates if the user's full name should be added as a claim to the access token. Defaults to `true`.
|
|
121
|
-
*/
|
|
122
127
|
addToAccessToken?: pulumi.Input<boolean>;
|
|
123
|
-
/**
|
|
124
|
-
* Indicates if the user's full name should be added as a claim to the id token. Defaults to `true`.
|
|
125
|
-
*/
|
|
126
128
|
addToIdToken?: pulumi.Input<boolean>;
|
|
127
|
-
/**
|
|
128
|
-
* Indicates if the user's full name should be added as a claim to the UserInfo response body. Defaults to `true`.
|
|
129
|
-
*/
|
|
130
129
|
addToUserinfo?: pulumi.Input<boolean>;
|
|
131
130
|
/**
|
|
132
|
-
* The
|
|
131
|
+
* The mapper's associated client. Cannot be used at the same time as client_scope_id.
|
|
133
132
|
*/
|
|
134
133
|
clientId?: pulumi.Input<string>;
|
|
135
134
|
/**
|
|
136
|
-
* The
|
|
135
|
+
* The mapper's associated client scope. Cannot be used at the same time as client_id.
|
|
137
136
|
*/
|
|
138
137
|
clientScopeId?: pulumi.Input<string>;
|
|
139
138
|
/**
|
|
140
|
-
*
|
|
139
|
+
* A human-friendly name that will appear in the Keycloak console.
|
|
141
140
|
*/
|
|
142
141
|
name?: pulumi.Input<string>;
|
|
143
142
|
/**
|
|
144
|
-
* The realm
|
|
143
|
+
* The realm id where the associated client or client scope exists.
|
|
145
144
|
*/
|
|
146
145
|
realmId?: pulumi.Input<string>;
|
|
147
146
|
}
|
|
@@ -149,32 +148,23 @@ export interface FullNameProtocolMapperState {
|
|
|
149
148
|
* The set of arguments for constructing a FullNameProtocolMapper resource.
|
|
150
149
|
*/
|
|
151
150
|
export interface FullNameProtocolMapperArgs {
|
|
152
|
-
/**
|
|
153
|
-
* Indicates if the user's full name should be added as a claim to the access token. Defaults to `true`.
|
|
154
|
-
*/
|
|
155
151
|
addToAccessToken?: pulumi.Input<boolean>;
|
|
156
|
-
/**
|
|
157
|
-
* Indicates if the user's full name should be added as a claim to the id token. Defaults to `true`.
|
|
158
|
-
*/
|
|
159
152
|
addToIdToken?: pulumi.Input<boolean>;
|
|
160
|
-
/**
|
|
161
|
-
* Indicates if the user's full name should be added as a claim to the UserInfo response body. Defaults to `true`.
|
|
162
|
-
*/
|
|
163
153
|
addToUserinfo?: pulumi.Input<boolean>;
|
|
164
154
|
/**
|
|
165
|
-
* The
|
|
155
|
+
* The mapper's associated client. Cannot be used at the same time as client_scope_id.
|
|
166
156
|
*/
|
|
167
157
|
clientId?: pulumi.Input<string>;
|
|
168
158
|
/**
|
|
169
|
-
* The
|
|
159
|
+
* The mapper's associated client scope. Cannot be used at the same time as client_id.
|
|
170
160
|
*/
|
|
171
161
|
clientScopeId?: pulumi.Input<string>;
|
|
172
162
|
/**
|
|
173
|
-
*
|
|
163
|
+
* A human-friendly name that will appear in the Keycloak console.
|
|
174
164
|
*/
|
|
175
165
|
name?: pulumi.Input<string>;
|
|
176
166
|
/**
|
|
177
|
-
* The realm
|
|
167
|
+
* The realm id where the associated client or client scope exists.
|
|
178
168
|
*/
|
|
179
169
|
realmId: pulumi.Input<string>;
|
|
180
170
|
}
|