Skip to content

Enable Headlamp to use Public OIDC Client #3137

@ErikThorsell

Description

@ErikThorsell

Current implementation enforces a oidc client secret

As part of our user authentication strategy, we want to setup a public Dex static Client and use this client with Headlamp.

However, as Headlamp is currently implemented, not providing an oidcClientSecret will result in a failed login attempt:

if oidcClientID != "" && oidcClientSecret != "" && oidcIssuerURL != "" && oidcScopes != "" {
	oidcConf = &OidcConfig{
		ClientID:     oidcClientID,
		ClientSecret: oidcClientSecret,
		IdpIssuerURL: oidcIssuerURL,
		Scopes:       strings.Split(oidcScopes, ","),
	}
}

func GetInClusterContext(oidcIssuerURL string,

Describe the solution you'd like

My proposal is to add a configuration option, which can be provided during the startup of Headlamp, allowing the use of an OIDC Client without a secret.

What users will benefit from this feature?

Everyone who wants to use public clients in Dex together with Headlamp.

Are you able to implement this feature?

I think so. We have already started discussing this here: https://kubernetes.slack.com/archives/C01FXB5E8ER/p1744348416232779
and I will reach out in the thread for more advice.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Queued

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions