Skip to content

Keycloak OIDC not supported  #142

@b-d-e

Description

@b-d-e

Release: wandb/local:0.58.1

I'm trying to configure a local instance of wandb to use Keycloak as an OIDC provider, but struggling to get it to work either through the web admin settings or by setting docker enviroment variables.

I believe it's because of the way keycloak uses 'realms' - so where most OIDC providers will use a URL of the schema https://{DOMAIN}/users/sign_in keycloak uses something like https://{DOMAIN}/realms/{REALM_NAME}/protocol/openid-connect/auth?client_id={CLIENT_ID}.

Other OIDC clients (e.g. Outline) allow more expressive docker environment variables which work with Keycloak, e.g:

OIDC_AUTH_URI=https://{DOMAIN}/realms/{REALM_NAME}/protocol/openid-connect/auth
OIDC_TOKEN_URI=https://{DOMAIN}/realms/{REALM_NAME}/protocol/openid-connect/token
OIDC_USERINFO_URI=https://{DOMAIN}/realms/{REALM_NAME}/protocol/openid-connect/userinfo

But if I try to set these for wandb, the gorilla service still tries to use the old url schema and panics as it does not exist:

{"level":"INFO","time":"2024-09-07T15:44:41.254942969Z","info":{"program":"gorilla","source":"github.com/wandb/core/services/gorilla/cmd/gorilla.go:1409","pid":1583},"data":{"dd.service":"gorilla","dd.version":"18d22e645275697ba614e1d1ea139452c4bed39f"},"message":"parsed schema","dd.trace_id":""}
panic: Get "https://{DOMAIN}/users/sign_in": stopped after 10 redirects

goroutine 1 [running]:
github.com/wandb/core/services/gorilla/cmd.(*gorillaCommander).MainCmd(0xc00188db00, {0xc00188dbe0, 0x1, 0x1})
        /home/circleci/go/src/github.com/wandb/core/services/gorilla/cmd/gorilla.go:1528 +0xccb6
main.main()
        /home/circleci/go/src/github.com/wandb/core/services/gorilla/cmd/megabinary/main.go:75 +0x431

Apologies if this is implemented and I am missing it in the docs, but am struggling to find anything.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions