Skip to content

Commit 4d7f55a

Browse files
authored
feat: allow configuration of display_name for oidc identity providers (#1033)
Signed-off-by: Ben Jones <[email protected]>
1 parent 0254dd0 commit 4d7f55a

4 files changed

+75
-1
lines changed

provider/resource_keycloak_oidc_google_identity_provider.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,9 @@ func resourceKeycloakOidcGoogleIdentityProvider() *schema.Resource {
1717
},
1818
"display_name": {
1919
Type: schema.TypeString,
20+
Optional: true,
2021
Computed: true,
21-
Description: "Not used by this provider, Will be implicitly Google",
22+
Description: "The human-friendly name of the identity provider, used in the log in form.",
2223
},
2324
"provider_id": {
2425
Type: schema.TypeString,

provider/resource_keycloak_oidc_google_identity_provider_test.go

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,35 @@ func TestAccKeycloakOidcGoogleIdentityProvider_basic(t *testing.T) {
3131
})
3232
}
3333

34+
func TestAccKeycloakOidcGoogleIdentityProvider_customDisplayName(t *testing.T) {
35+
resource.Test(t, resource.TestCase{
36+
ProviderFactories: testAccProviderFactories,
37+
PreCheck: func() { testAccPreCheck(t) },
38+
CheckDestroy: testAccCheckKeycloakOidcGoogleIdentityProviderDestroy(),
39+
Steps: []resource.TestStep{
40+
{
41+
Config: fmt.Sprintf(`
42+
data "keycloak_realm" "realm" {
43+
realm = "%s"
44+
}
45+
46+
resource "keycloak_oidc_google_identity_provider" "google" {
47+
realm = data.keycloak_realm.realm.id
48+
client_id = "example_id"
49+
client_secret = "example_token"
50+
51+
display_name = "Example Google"
52+
}
53+
`, testAccRealm.Realm),
54+
Check: resource.ComposeTestCheckFunc(
55+
testAccCheckKeycloakOidcGoogleIdentityProviderExists("keycloak_oidc_google_identity_provider.google"),
56+
resource.TestCheckResourceAttr("keycloak_oidc_google_identity_provider.google", "display_name", "Example Google"),
57+
),
58+
},
59+
},
60+
})
61+
}
62+
3463
func TestAccKeycloakOidcGoogleIdentityProvider_extraConfig(t *testing.T) {
3564
customConfigValue := acctest.RandomWithPrefix("tf-acc")
3665

provider/resource_keycloak_oidc_identity_provider.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,12 @@ func resourceKeycloakOidcIdentityProvider() *schema.Resource {
1616
Default: "oidc",
1717
Description: "provider id, is always oidc, unless you have a custom implementation",
1818
},
19+
"display_name": {
20+
Type: schema.TypeString,
21+
Optional: true,
22+
Computed: true,
23+
Description: "The human-friendly name of the identity provider, used in the log in form.",
24+
},
1925
"backchannel_supported": {
2026
Type: schema.TypeBool,
2127
Optional: true,

provider/resource_keycloak_oidc_identity_provider_test.go

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,44 @@ func TestAccKeycloakOidcIdentityProvider_basic(t *testing.T) {
3030
})
3131
}
3232

33+
func TestAccKeycloakOidcIdentityProvider_customDisplayName(t *testing.T) {
34+
t.Parallel()
35+
36+
oidcName := acctest.RandomWithPrefix("tf-acc")
37+
38+
resource.Test(t, resource.TestCase{
39+
ProviderFactories: testAccProviderFactories,
40+
PreCheck: func() { testAccPreCheck(t) },
41+
CheckDestroy: testAccCheckKeycloakOidcIdentityProviderDestroy(),
42+
Steps: []resource.TestStep{
43+
{
44+
Config: fmt.Sprintf(`
45+
data "keycloak_realm" "realm" {
46+
realm = "%s"
47+
}
48+
49+
resource "keycloak_oidc_identity_provider" "oidc" {
50+
realm = data.keycloak_realm.realm.id
51+
alias = "%s"
52+
authorization_url = "https://example.com/auth"
53+
token_url = "https://example.com/token"
54+
client_id = "example_id"
55+
client_secret = "example_token"
56+
57+
issuer = "hello"
58+
59+
display_name = "Example Provider"
60+
}
61+
`, testAccRealm.Realm, oidcName),
62+
Check: resource.ComposeTestCheckFunc(
63+
testAccCheckKeycloakOidcIdentityProviderExists("keycloak_oidc_identity_provider.oidc"),
64+
resource.TestCheckResourceAttr("keycloak_oidc_identity_provider.oidc", "display_name", "Example Provider"),
65+
),
66+
},
67+
},
68+
})
69+
}
70+
3371
func TestAccKeycloakOidcIdentityProvider_extraConfig(t *testing.T) {
3472
t.Parallel()
3573

0 commit comments

Comments
 (0)