Compare commits

...

2 Commits

Author SHA1 Message Date
Stavros
f9ab9a6406 fix: filter oauth whitelist to remove empty strings 2025-02-15 17:23:24 +02:00
Stavros
6f35923735 refactor: use try catch instead of can parse 2025-02-12 18:43:35 +02:00
4 changed files with 37 additions and 4 deletions

View File

@@ -62,7 +62,9 @@ var rootCmd = &cobra.Command{
}
// Create oauth whitelist
oauthWhitelist := strings.Split(config.OAuthWhitelist, ",")
oauthWhitelist := utils.Filter(strings.Split(config.OAuthWhitelist, ","), func(val string) bool {
return val != ""
})
log.Debug().Msg("Parsed OAuth whitelist")
// Create OAuth config

View File

@@ -207,3 +207,13 @@ func GetTinyauthLabels(labels map[string]string) types.TinyauthLabels {
func OAuthConfigured(config types.Config) bool {
return (config.GithubClientId != "" && config.GithubClientSecret != "") || (config.GoogleClientId != "" && config.GoogleClientSecret != "") || (config.GenericClientId != "" && config.GenericClientSecret != "") || (config.TailscaleClientId != "" && config.TailscaleClientSecret != "")
}
// Filter helper function
func Filter[T any](slice []T, test func(T) bool) (res []T) {
for _, value := range slice {
if test(value) {
res = append(res, value)
}
}
return res
}

View File

@@ -313,3 +313,22 @@ func TestGetTinyauthLabels(t *testing.T) {
t.Fatalf("Expected %v, got %v", expected, result)
}
}
// Test the filter function
func TestFilter(t *testing.T) {
t.Log("Testing filter helper")
// Create variables
data := []string{"", "val1", "", "val2", "", "val3", ""}
expected := []string{"val1", "val2", "val3"}
// Test the filter function
result := utils.Filter(data, func(val string) bool {
return val != ""
})
// Check if the result is equal to the expected
if !reflect.DeepEqual(expected, result) {
t.Fatalf("Expected %v, got %v", expected, result)
}
}

View File

@@ -31,7 +31,11 @@ export const ContinuePage = () => {
}, 500);
};
if (!URL.canParse(redirectUri)) {
let uri;
try {
uri = new URL(redirectUri);
} catch {
return (
<ContinuePageLayout>
<Text size="xl" fw={700}>
@@ -45,8 +49,6 @@ export const ContinuePage = () => {
);
}
const uri = new URL(redirectUri);
if (
window.location.protocol === "https:" &&
uri.protocol === "http:"