Skip to content

Commit 84ec0a9

Browse files
committed
fix: oauth 初始化意外调用未初始化的 dbcore
1 parent 801d941 commit 84ec0a9

File tree

1 file changed

+20
-33
lines changed

1 file changed

+20
-33
lines changed

internal/oauth/oauth.go

Lines changed: 20 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -50,40 +50,27 @@ func LoadProvider(name string, configJson string) error {
5050
}
5151

5252
func init() {
53-
all := factory.GetAllOidcProviders()
54-
for _, provider := range all {
55-
if _, err := database.GetOidcConfigByName(provider.GetName()); err == nil {
56-
continue
57-
}
58-
// 如果数据库中没有该提供者的配置,则保存默认配置
59-
config := provider.GetConfiguration()
60-
configBytes, err := json.Marshal(config)
61-
if err != nil {
62-
log.Printf("Failed to marshal config for provider %s: %v", provider.GetName(), err)
63-
return
64-
}
65-
if err := database.SaveOidcConfig(&models.OidcProvider{
66-
Name: provider.GetName(),
67-
Addition: string(configBytes),
68-
}); err != nil {
69-
log.Printf("Failed to save default config for provider %s: %v", provider.GetName(), err)
70-
return
53+
event.On(eventType.ServerInitializeStart, event.ListenerFunc(func(e event.Event) error {
54+
all := factory.GetAllOidcProviders()
55+
for _, provider := range all {
56+
if _, err := database.GetOidcConfigByName(provider.GetName()); err == nil {
57+
continue
58+
}
59+
// 如果数据库中没有该提供者的配置,则保存默认配置
60+
config := provider.GetConfiguration()
61+
configBytes, err := json.Marshal(config)
62+
if err != nil {
63+
return fmt.Errorf("failed to marshal config for provider %s: %v", provider.GetName(), err)
64+
}
65+
if err := database.SaveOidcConfig(&models.OidcProvider{
66+
Name: provider.GetName(),
67+
Addition: string(configBytes),
68+
}); err != nil {
69+
return fmt.Errorf("failed to save default config for provider %s: %v", provider.GetName(), err)
70+
}
7171
}
72-
}
73-
74-
// cfg, _ := conf.GetWithV1Format()
75-
// if cfg.OAuthProvider == "" || cfg.OAuthProvider == "none" {
76-
// LoadProvider("empty", "{}")
77-
// }
78-
// provider, err := database.GetOidcConfigByName(cfg.OAuthProvider)
79-
// if err != nil {
80-
// // 如果没有找到配置,使用empty provider
81-
// LoadProvider("empty", "{}")
82-
// }
83-
// err = LoadProvider(provider.Name, provider.Addition)
84-
// if err != nil {
85-
// log.Printf("Failed to load OIDC provider %s: %v", provider.Name, err)
86-
// }
72+
return nil
73+
}))
8774

8875
event.On(eventType.ConfigUpdated, event.ListenerFunc(func(e event.Event) error {
8976
oldConf, newConf, err := conf.FromEvent(e)

0 commit comments

Comments
 (0)