You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
	
		
			|  chrislu
					
				
				
					beb23b0ab5
					
				
				
				
				feat: Implement configuration-driven identity providers for distributed STS PROBLEM SOLVED:
- Identity providers were registered manually on each STS instance
- No guarantee of provider consistency across distributed deployments
- Authentication behavior could differ between S3 gateway instances
- Operational complexity in managing provider configurations at scale
IMPLEMENTATION:
- Add provider configuration support to STSConfig schema
- Create ProviderFactory for automatic provider loading from config
- Update STSService.Initialize() to load providers from configuration
- Support OIDC and mock providers with extensible factory pattern
- Comprehensive validation and error handling for provider configs
NEW COMPONENTS:
- weed/iam/sts/provider_factory.go - Factory for creating providers from config
- weed/iam/sts/provider_factory_test.go - Comprehensive factory tests
- weed/iam/sts/distributed_sts_test.go - Distributed STS integration tests
- test/s3/iam/STS_DISTRIBUTED.md - Complete deployment and operations guide
CONFIGURATION SCHEMA:
{
  'sts': {
    'providers': [
      {
        'name': 'keycloak-oidc',
        'type': 'oidc',
        'enabled': true,
        'config': {
          'issuer': 'https://keycloak.company.com/realms/seaweedfs',
          'clientId': 'seaweedfs-s3',
          'clientSecret': 'secret',
          'scopes': ['openid', 'profile', 'email', 'roles']
        }
      }
    ]
  }
}
DISTRIBUTED BENEFITS:
- ✅ Consistent providers across all S3 gateway instances
- ✅ Configuration-driven - no manual provider registration needed
- ✅ Automatic validation and initialization of all providers
- ✅ Support for provider enable/disable without code changes
- ✅ Extensible factory pattern for adding new provider types
- ✅ Comprehensive testing for distributed deployment scenarios
This completes the distributed STS implementation, making SeaweedFS
S3 Gateway truly production-ready for multi-instance deployments
with consistent, reliable authentication across all instances. | 2 months ago | 
	
	
		
			
				| .. | 
		
		
			
			
			
			
				| basic | fix parsing s3 tag (#7069) | 3 months ago | 
		
			
			
			
			
				| compatibility | chore(tests): update S3 compat tests | 2 years ago | 
		
			
			
			
			
				| copying | More efficient copy object (#6665) | 4 months ago | 
		
			
			
			
			
				| cors | fix listing objects (#7008) | 3 months ago | 
		
			
			
			
			
				| iam | feat: Implement configuration-driven identity providers for distributed STS | 2 months ago | 
		
			
			
			
			
				| multipart | adjust test code | 4 years ago | 
		
			
			
			
			
				| retention | Test object lock and retention (#6997) | 3 months ago | 
		
			
			
			
			
				| s3client | a simple example of using aws-sdk-go-v2 | 2 years ago | 
		
			
			
			
			
				| sse | S3 API: Add integration with KMS providers (#7152) | 2 months ago | 
		
			
			
			
			
				| versioning | fix listing objects (#7008) | 3 months ago |