From 7243a10fb213ab998e43902cb62e040a16150e39 Mon Sep 17 00:00:00 2001 From: kolaente Date: Wed, 23 Jul 2025 15:39:16 +0200 Subject: [PATCH] fix(openid): check different provider types Related to https://github.com/go-vikunja/vikunja/issues/1165 --- pkg/modules/auth/openid/providers.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/pkg/modules/auth/openid/providers.go b/pkg/modules/auth/openid/providers.go index 441d4662c..beab40288 100644 --- a/pkg/modules/auth/openid/providers.go +++ b/pkg/modules/auth/openid/providers.go @@ -105,7 +105,16 @@ func GetProvider(key string) (provider *Provider, err error) { if err != nil { return nil, err } - provider = result.(*Provider) + + // Handle type assertion safely - the memory backend strips pointer info when storing + switch v := result.(type) { + case *Provider: + provider = v + case Provider: + provider = &v + default: + return nil, fmt.Errorf("invalid cached provider type: %T", result) + } err = provider.setOicdProvider() return