refactor: users are not a requirement when using oauth

This commit is contained in:
Stavros
2025-01-26 20:45:34 +02:00
parent 08d382c981
commit a243f22ac8
5 changed files with 57 additions and 36 deletions

View File

@@ -194,6 +194,12 @@ func (api *API) SetupRoutes() {
log.Debug().Msg("Checking status")
userContext := api.Hooks.UseUserContext(c)
configuredProviders := api.Providers.GetConfiguredProviders()
if api.Auth.UserAuthConfigured() {
configuredProviders = append(configuredProviders, "username")
}
if !userContext.IsLoggedIn {
log.Debug().Msg("Unauthenticated")
c.JSON(200, gin.H{
@@ -203,13 +209,13 @@ func (api *API) SetupRoutes() {
"isLoggedIn": false,
"oauth": false,
"provider": "",
"configuredProviders": api.Providers.GetConfiguredProviders(),
"configuredProviders": configuredProviders,
"disableContinue": api.Config.DisableContinue,
})
return
}
log.Debug().Interface("userContext", userContext).Strs("configuredProviders", api.Providers.GetConfiguredProviders()).Bool("disableContinue", api.Config.DisableContinue).Msg("Authenticated")
log.Debug().Interface("userContext", userContext).Strs("configuredProviders", configuredProviders).Bool("disableContinue", api.Config.DisableContinue).Msg("Authenticated")
c.JSON(200, gin.H{
"status": 200,
@@ -218,7 +224,7 @@ func (api *API) SetupRoutes() {
"isLoggedIn": userContext.IsLoggedIn,
"oauth": userContext.OAuth,
"provider": userContext.Provider,
"configuredProviders": api.Providers.GetConfiguredProviders(),
"configuredProviders": configuredProviders,
"disableContinue": api.Config.DisableContinue,
})
})

View File

@@ -88,3 +88,7 @@ func (auth *Auth) GetSessionCookie(c *gin.Context) (types.SessionCookie, error)
Provider: provider,
}, nil
}
func (auth *Auth) UserAuthConfigured() bool {
return len(auth.Users) > 0
}

View File

@@ -129,3 +129,7 @@ func GetUsers(env string, file string) (types.Users, error) {
return ParseUsers(users)
}
func OAuthConfigured(config types.Config) bool {
return (config.GithubClientId != "" && config.GithubClientSecret != "") || (config.GoogleClientId != "" && config.GoogleClientSecret != "") || (config.GenericClientId != "" && config.GenericClientSecret != "")
}