mirror of
				https://github.com/steveiliop56/tinyauth.git
				synced 2025-11-03 23:55:44 +00:00 
			
		
		
		
	Compare commits
	
		
			1 Commits
		
	
	
		
			47c3261cac
			...
			2328e17ff4
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					2328e17ff4 | 
@@ -40,7 +40,7 @@
 | 
				
			|||||||
        "@vitejs/plugin-react": "^5.0.3",
 | 
					        "@vitejs/plugin-react": "^5.0.3",
 | 
				
			||||||
        "eslint": "^9.36.0",
 | 
					        "eslint": "^9.36.0",
 | 
				
			||||||
        "eslint-plugin-react-hooks": "^5.2.0",
 | 
					        "eslint-plugin-react-hooks": "^5.2.0",
 | 
				
			||||||
        "eslint-plugin-react-refresh": "^0.4.22",
 | 
					        "eslint-plugin-react-refresh": "^0.4.21",
 | 
				
			||||||
        "globals": "^16.4.0",
 | 
					        "globals": "^16.4.0",
 | 
				
			||||||
        "prettier": "3.6.2",
 | 
					        "prettier": "3.6.2",
 | 
				
			||||||
        "tw-animate-css": "^1.4.0",
 | 
					        "tw-animate-css": "^1.4.0",
 | 
				
			||||||
@@ -495,7 +495,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    "eslint-plugin-react-hooks": ["eslint-plugin-react-hooks@5.2.0", "", { "peerDependencies": { "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" } }, "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg=="],
 | 
					    "eslint-plugin-react-hooks": ["eslint-plugin-react-hooks@5.2.0", "", { "peerDependencies": { "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" } }, "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg=="],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    "eslint-plugin-react-refresh": ["eslint-plugin-react-refresh@0.4.22", "", { "peerDependencies": { "eslint": ">=8.40" } }, "sha512-atkAG6QaJMGoTLc4MDAP+rqZcfwQuTIh2IqHWFLy2TEjxr0MOK+5BSG4RzL2564AAPpZkDRsZXAUz68kjnU6Ug=="],
 | 
					    "eslint-plugin-react-refresh": ["eslint-plugin-react-refresh@0.4.21", "", { "peerDependencies": { "eslint": ">=8.40" } }, "sha512-MWDWTtNC4voTcWDxXbdmBNe8b/TxfxRFUL6hXgKWJjN9c1AagYEmpiFWBWzDw+5H3SulWUe1pJKTnoSdmk88UA=="],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    "eslint-scope": ["eslint-scope@8.4.0", "", { "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg=="],
 | 
					    "eslint-scope": ["eslint-scope@8.4.0", "", { "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg=="],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -46,7 +46,7 @@
 | 
				
			|||||||
    "@vitejs/plugin-react": "^5.0.3",
 | 
					    "@vitejs/plugin-react": "^5.0.3",
 | 
				
			||||||
    "eslint": "^9.36.0",
 | 
					    "eslint": "^9.36.0",
 | 
				
			||||||
    "eslint-plugin-react-hooks": "^5.2.0",
 | 
					    "eslint-plugin-react-hooks": "^5.2.0",
 | 
				
			||||||
    "eslint-plugin-react-refresh": "^0.4.22",
 | 
					    "eslint-plugin-react-refresh": "^0.4.21",
 | 
				
			||||||
    "globals": "^16.4.0",
 | 
					    "globals": "^16.4.0",
 | 
				
			||||||
    "prettier": "3.6.2",
 | 
					    "prettier": "3.6.2",
 | 
				
			||||||
    "tw-animate-css": "^1.4.0",
 | 
					    "tw-animate-css": "^1.4.0",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -147,6 +147,10 @@ func (app *BootstrapApp) Setup() error {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Configured providers
 | 
						// Configured providers
 | 
				
			||||||
 | 
						babysit := map[string]string{
 | 
				
			||||||
 | 
							"google": "Google",
 | 
				
			||||||
 | 
							"github": "GitHub",
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	configuredProviders := make([]controller.Provider, 0)
 | 
						configuredProviders := make([]controller.Provider, 0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for id, provider := range oauthProviders {
 | 
						for id, provider := range oauthProviders {
 | 
				
			||||||
@@ -155,7 +159,7 @@ func (app *BootstrapApp) Setup() error {
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if provider.Name == "" {
 | 
							if provider.Name == "" {
 | 
				
			||||||
			if name, ok := config.OverrideProviders[id]; ok {
 | 
								if name, ok := babysit[id]; ok {
 | 
				
			||||||
				provider.Name = name
 | 
									provider.Name = name
 | 
				
			||||||
			} else {
 | 
								} else {
 | 
				
			||||||
				provider.Name = utils.Capitalize(id)
 | 
									provider.Name = utils.Capitalize(id)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -65,11 +65,6 @@ type OAuthServiceConfig struct {
 | 
				
			|||||||
	Name               string   `key:"name"`
 | 
						Name               string   `key:"name"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var OverrideProviders = map[string]string{
 | 
					 | 
				
			||||||
	"google": "Google",
 | 
					 | 
				
			||||||
	"github": "GitHub",
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// User/session related stuff
 | 
					// User/session related stuff
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type User struct {
 | 
					type User struct {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -309,14 +309,12 @@ func (auth *AuthService) IsInOAuthGroup(c *gin.Context, context config.UserConte
 | 
				
			|||||||
		return true
 | 
							return true
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for id := range config.OverrideProviders {
 | 
						if context.Provider != "generic" {
 | 
				
			||||||
		if context.Provider == id {
 | 
							log.Debug().Msg("Not using generic provider, skipping group check")
 | 
				
			||||||
			log.Info().Str("provider", id).Msg("OAuth groups not supported for this provider")
 | 
							return true
 | 
				
			||||||
			return true
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for userGroup := range strings.SplitSeq(context.OAuthGroups, ",") {
 | 
						for _, userGroup := range strings.Split(context.OAuthGroups, ",") {
 | 
				
			||||||
		if utils.CheckFilter(requiredGroups, strings.TrimSpace(userGroup)) {
 | 
							if utils.CheckFilter(requiredGroups, strings.TrimSpace(userGroup)) {
 | 
				
			||||||
			return true
 | 
								return true
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -183,13 +183,14 @@ func GetOAuthProvidersConfig(env []string, args []string, appUrl string) (map[st
 | 
				
			|||||||
		providers[name] = provider
 | 
							providers[name] = provider
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// If we have google/github providers and no redirect URL then set a default
 | 
						// If we have google/github providers and no redirect URL babysit them
 | 
				
			||||||
 | 
						babysitProviders := []string{"google", "github"}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for id := range config.OverrideProviders {
 | 
						for _, name := range babysitProviders {
 | 
				
			||||||
		if provider, exists := providers[id]; exists {
 | 
							if provider, exists := providers[name]; exists {
 | 
				
			||||||
			if provider.RedirectURL == "" {
 | 
								if provider.RedirectURL == "" {
 | 
				
			||||||
				provider.RedirectURL = appUrl + "/api/oauth/callback/" + id
 | 
									provider.RedirectURL = appUrl + "/api/oauth/callback/" + name
 | 
				
			||||||
				providers[id] = provider
 | 
									providers[name] = provider
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user