mirror of
				https://github.com/steveiliop56/tinyauth.git
				synced 2025-10-30 21:55:43 +00:00 
			
		
		
		
	Compare commits
	
		
			7 Commits
		
	
	
		
			cbe31d442d
			...
			v4.0.0-rc.
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | e878516130 | ||
|   | e5f1df03c4 | ||
|   | c77da30d87 | ||
|   | 287c6f975f | ||
|   | 0255e954f7 | ||
|   | c5d70d7c93 | ||
|   | adffb4ac0a | 
| @@ -51,6 +51,10 @@ EXPOSE 3000 | |||||||
|  |  | ||||||
| VOLUME ["/data"] | VOLUME ["/data"] | ||||||
|  |  | ||||||
| HEALTHCHECK --interval=30s --timeout=5s --start-period=5s --retries=3 CMD ["/tinyauth/tinyauth", "healthcheck"] | ENV GIN_MODE=release | ||||||
|  |  | ||||||
| ENTRYPOINT ["/tinyauth/tinyauth"] | ENV PATH=$PATH:/tinyauth | ||||||
|  |  | ||||||
|  | HEALTHCHECK --interval=30s --timeout=5s --start-period=5s --retries=3 CMD ["tinyauth", "healthcheck"] | ||||||
|  |  | ||||||
|  | ENTRYPOINT ["tinyauth"] | ||||||
| @@ -51,6 +51,10 @@ EXPOSE 3000 | |||||||
|  |  | ||||||
| VOLUME ["/data"] | VOLUME ["/data"] | ||||||
|  |  | ||||||
| HEALTHCHECK --interval=30s --timeout=5s --start-period=5s --retries=3 CMD ["/tinyauth/tinyauth", "healthcheck"] | ENV GIN_MODE=release | ||||||
|  |  | ||||||
| ENTRYPOINT ["/tinyauth/tinyauth"] | ENV PATH=$PATH:/tinyauth | ||||||
|  |  | ||||||
|  | HEALTHCHECK --interval=30s --timeout=5s --start-period=5s --retries=3 CMD ["tinyauth", "healthcheck"] | ||||||
|  |  | ||||||
|  | ENTRYPOINT ["tinyauth"] | ||||||
| @@ -8,7 +8,7 @@ | |||||||
|     <link rel="shortcut icon" href="/favicon.ico" /> |     <link rel="shortcut icon" href="/favicon.ico" /> | ||||||
|     <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" /> |     <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" /> | ||||||
|     <meta name="apple-mobile-web-app-title" content="Tinyauth" /> |     <meta name="apple-mobile-web-app-title" content="Tinyauth" /> | ||||||
|     <meta name="robots" content="none" /> |     <meta name="robots" content="nofollow, noindex" /> | ||||||
|     <link rel="manifest" href="/site.webmanifest" /> |     <link rel="manifest" href="/site.webmanifest" /> | ||||||
|     <title>Tinyauth</title> |     <title>Tinyauth</title> | ||||||
|   </head> |   </head> | ||||||
|   | |||||||
| @@ -1,11 +1,15 @@ | |||||||
| import { useAppContext } from "@/context/app-context"; | import { useAppContext } from "@/context/app-context"; | ||||||
| import { LanguageSelector } from "../language/language"; | import { LanguageSelector } from "../language/language"; | ||||||
| import { Outlet } from "react-router"; | import { Outlet } from "react-router"; | ||||||
| import { useCallback, useState } from "react"; | import { useCallback, useEffect, useState } from "react"; | ||||||
| import { DomainWarning } from "../domain-warning/domain-warning"; | import { DomainWarning } from "../domain-warning/domain-warning"; | ||||||
|  |  | ||||||
| const BaseLayout = ({ children }: { children: React.ReactNode }) => { | const BaseLayout = ({ children }: { children: React.ReactNode }) => { | ||||||
|   const { backgroundImage } = useAppContext(); |   const { backgroundImage, title } = useAppContext(); | ||||||
|  |  | ||||||
|  |   useEffect(() => { | ||||||
|  |     document.title = title; | ||||||
|  |   }, [title]); | ||||||
|  |  | ||||||
|   return ( |   return ( | ||||||
|     <div |     <div | ||||||
|   | |||||||
| @@ -150,18 +150,6 @@ func (app *BootstrapApp) Setup() error { | |||||||
| 	configuredProviders := make([]controller.Provider, 0) | 	configuredProviders := make([]controller.Provider, 0) | ||||||
|  |  | ||||||
| 	for id, provider := range oauthProviders { | 	for id, provider := range oauthProviders { | ||||||
| 		if id == "" { |  | ||||||
| 			continue |  | ||||||
| 		} |  | ||||||
|  |  | ||||||
| 		if provider.Name == "" { |  | ||||||
| 			if name, ok := config.OverrideProviders[id]; ok { |  | ||||||
| 				provider.Name = name |  | ||||||
| 			} else { |  | ||||||
| 				provider.Name = utils.Capitalize(id) |  | ||||||
| 			} |  | ||||||
| 		} |  | ||||||
|  |  | ||||||
| 		configuredProviders = append(configuredProviders, controller.Provider{ | 		configuredProviders = append(configuredProviders, controller.Provider{ | ||||||
| 			Name:  provider.Name, | 			Name:  provider.Name, | ||||||
| 			ID:    id, | 			ID:    id, | ||||||
| @@ -184,10 +172,6 @@ func (app *BootstrapApp) Setup() error { | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	// Create engine | 	// Create engine | ||||||
| 	if config.Version != "development" { |  | ||||||
| 		gin.SetMode(gin.ReleaseMode) |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	engine := gin.New() | 	engine := gin.New() | ||||||
|  |  | ||||||
| 	if len(app.config.TrustedProxies) > 0 { | 	if len(app.config.TrustedProxies) > 0 { | ||||||
|   | |||||||
| @@ -71,14 +71,12 @@ func (docker *DockerService) GetLabels(appDomain string) (config.App, error) { | |||||||
| 	for _, ctr := range containers { | 	for _, ctr := range containers { | ||||||
| 		inspect, err := docker.InspectContainer(ctr.ID) | 		inspect, err := docker.InspectContainer(ctr.ID) | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			log.Warn().Str("id", ctr.ID).Err(err).Msg("Error inspecting container, skipping") | 			return config.App{}, err | ||||||
| 			continue |  | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		labels, err := decoders.DecodeLabels(inspect.Config.Labels) | 		labels, err := decoders.DecodeLabels(inspect.Config.Labels) | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			log.Warn().Str("id", ctr.ID).Err(err).Msg("Error getting container labels, skipping") | 			return config.App{}, err | ||||||
| 			continue |  | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		for appName, appLabels := range labels.Apps { | 		for appName, appLabels := range labels.Apps { | ||||||
|   | |||||||
| @@ -50,7 +50,7 @@ func (broker *OAuthBrokerService) Init() error { | |||||||
| 			log.Error().Err(err).Msgf("Failed to initialize OAuth service: %T", name) | 			log.Error().Err(err).Msgf("Failed to initialize OAuth service: %T", name) | ||||||
| 			return err | 			return err | ||||||
| 		} | 		} | ||||||
| 		log.Info().Str("service", service.GetName()).Msg("Initialized OAuth service") | 		log.Info().Str("service", name).Msg("Initialized OAuth service") | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	return nil | 	return nil | ||||||
|   | |||||||
| @@ -184,7 +184,6 @@ func GetOAuthProvidersConfig(env []string, args []string, appUrl string) (map[st | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	// If we have google/github providers and no redirect URL then set a default | 	// If we have google/github providers and no redirect URL then set a default | ||||||
|  |  | ||||||
| 	for id := range config.OverrideProviders { | 	for id := range config.OverrideProviders { | ||||||
| 		if provider, exists := providers[id]; exists { | 		if provider, exists := providers[id]; exists { | ||||||
| 			if provider.RedirectURL == "" { | 			if provider.RedirectURL == "" { | ||||||
| @@ -194,6 +193,18 @@ func GetOAuthProvidersConfig(env []string, args []string, appUrl string) (map[st | |||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | 	// Set names | ||||||
|  | 	for id, provider := range providers { | ||||||
|  | 		if provider.Name == "" { | ||||||
|  | 			if name, ok := config.OverrideProviders[id]; ok { | ||||||
|  | 				provider.Name = name | ||||||
|  | 			} else { | ||||||
|  | 				provider.Name = Capitalize(id) | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 		providers[id] = provider | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	// Return combined providers | 	// Return combined providers | ||||||
| 	return providers, nil | 	return providers, nil | ||||||
| } | } | ||||||
|   | |||||||
| @@ -210,10 +210,12 @@ func TestGetOAuthProvidersConfig(t *testing.T) { | |||||||
| 		"client1": { | 		"client1": { | ||||||
| 			ClientID:     "client1-id", | 			ClientID:     "client1-id", | ||||||
| 			ClientSecret: "client1-secret", | 			ClientSecret: "client1-secret", | ||||||
|  | 			Name:         "Client1", | ||||||
| 		}, | 		}, | ||||||
| 		"client2": { | 		"client2": { | ||||||
| 			ClientID:     "client2-id", | 			ClientID:     "client2-id", | ||||||
| 			ClientSecret: "client2-secret", | 			ClientSecret: "client2-secret", | ||||||
|  | 			Name:         "Client2", | ||||||
| 		}, | 		}, | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| @@ -247,6 +249,7 @@ func TestGetOAuthProvidersConfig(t *testing.T) { | |||||||
| 		"client1": { | 		"client1": { | ||||||
| 			ClientID:     "client1-id", | 			ClientID:     "client1-id", | ||||||
| 			ClientSecret: "file content", | 			ClientSecret: "file content", | ||||||
|  | 			Name:         "Client1", | ||||||
| 		}, | 		}, | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| @@ -262,6 +265,7 @@ func TestGetOAuthProvidersConfig(t *testing.T) { | |||||||
| 			ClientID:     "google-id", | 			ClientID:     "google-id", | ||||||
| 			ClientSecret: "google-secret", | 			ClientSecret: "google-secret", | ||||||
| 			RedirectURL:  "http://app.url/api/oauth/callback/google", | 			RedirectURL:  "http://app.url/api/oauth/callback/google", | ||||||
|  | 			Name:         "Google", | ||||||
| 		}, | 		}, | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user