fix(openid): check different provider types

Related to https://github.com/go-vikunja/vikunja/issues/1165
This commit is contained in:
kolaente
2025-07-23 15:39:16 +02:00
parent 97a7e40c9e
commit 7243a10fb2

View File

@@ -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