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

    authAuthentication or authorization relatedbackendIssues related to the backendkind/bugCategorizes issue or PR as related to a bug.oidcIssue related to OIDC

    Type

    No type

    Projects

    Status

    Queued

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions