Cache openid providers

This commit is contained in:
kolaente 2020-11-16 20:58:31 +01:00
parent aabb7158ed
commit 4b2a1329f0
Signed by: konrad
GPG Key ID: F40E70337AB24C9B
1 changed files with 13 additions and 1 deletions

View File

@ -19,6 +19,8 @@ package v1
import (
"code.vikunja.io/api/pkg/config"
"code.vikunja.io/api/pkg/modules/auth/openid"
"code.vikunja.io/api/pkg/modules/keyvalue"
kerr "code.vikunja.io/api/pkg/modules/keyvalue/error"
"code.vikunja.io/api/pkg/modules/migration/todoist"
"code.vikunja.io/api/pkg/modules/migration/wunderlist"
"code.vikunja.io/api/pkg/version"
@ -95,12 +97,22 @@ func Info(c echo.Context) error {
},
}
var providers interface{}
var err error
info.AuthInfo.OpenIDConnect.Providers, err = openid.GetAllProviders()
providers, err = keyvalue.Get("openid_providers")
if err != nil && kerr.IsErrValueNotFoundForKey(err) {
providers, err = openid.GetAllProviders()
if err != nil {
return err
}
err = keyvalue.Put("openid_providers", providers)
}
if err != nil {
return err
}
info.AuthInfo.OpenIDConnect.Providers = providers.([]*openid.Provider)
// Migrators
if config.MigrationWunderlistEnable.GetBool() {
m := &wunderlist.Migration{}