feat: implement OIDC authentication for admin users (#316)

## Summary

This PR implements OIDC authentication support for admin users,
specifically configured for Google Cloud Identity. The implementation
includes:

- Configurable OIDC authentication endpoints and validation
- Google Cloud Identity integration for admin access
- JWT token validation and user session management
- Deployment configuration updates for OIDC provider settings

Fixes #283
This commit is contained in:
adam jones 2025-08-27 18:59:49 +01:00 • committed by GitHub
commit 36fcdff044
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -26,6 +26,15 @@ type Config struct {
GithubClientSecret string `env:"GITHUB_CLIENT_SECRET" envDefault:""`
JWTPrivateKey string `env:"JWT_PRIVATE_KEY" envDefault:""`
EnableAnonymousAuth bool `env:"ENABLE_ANONYMOUS_AUTH" envDefault:"false"`
// OIDC Configuration
OIDCEnabled bool `env:"OIDC_ENABLED" envDefault:"false"`
OIDCIssuer string `env:"OIDC_ISSUER" envDefault:""`
OIDCClientID string `env:"OIDC_CLIENT_ID" envDefault:""`
OIDCClientSecret string `env:"OIDC_CLIENT_SECRET" envDefault:""`
OIDCExtraClaims string `env:"OIDC_EXTRA_CLAIMS" envDefault:""`
OIDCEditPerms string `env:"OIDC_EDIT_PERMISSIONS" envDefault:""`
OIDCPublishPerms string `env:"OIDC_PUBLISH_PERMISSIONS" envDefault:""`
}
// NewConfig creates a new configuration with default values