@@ -31,6 +31,11 @@ type Config struct {
3131 // Implement the Logger interface (Debug, Info, Warn, Error methods) to
3232 // integrate with your application's logging system (e.g., zap, logrus).
3333 Logger Logger
34+
35+ // Validation skip configuration
36+ SkipIssuerCheck bool
37+ SkipAudienceCheck bool
38+ SkipExpiryCheck bool
3439}
3540
3641// Validate validates the configuration
@@ -119,11 +124,14 @@ func SetupOAuth(cfg *Config) (provider.TokenValidator, error) {
119124func createValidator (cfg * Config , logger Logger ) (provider.TokenValidator , error ) {
120125 // Convert root Config to provider.Config
121126 providerCfg := & provider.Config {
122- Provider : cfg .Provider ,
123- Issuer : cfg .Issuer ,
124- Audience : cfg .Audience ,
125- JWTSecret : cfg .JWTSecret ,
126- Logger : logger ,
127+ Provider : cfg .Provider ,
128+ Issuer : cfg .Issuer ,
129+ Audience : cfg .Audience ,
130+ JWTSecret : cfg .JWTSecret ,
131+ Logger : logger ,
132+ SkipIssuerCheck : cfg .SkipIssuerCheck ,
133+ SkipAudienceCheck : cfg .SkipAudienceCheck ,
134+ SkipExpiryCheck : cfg .SkipAudienceCheck ,
127135 }
128136
129137 var validator provider.TokenValidator
@@ -223,6 +231,24 @@ func (b *ConfigBuilder) WithLogger(logger Logger) *ConfigBuilder {
223231 return b
224232}
225233
234+ // WithSkipIssuerCheck sets issuer check toogle
235+ func (b * ConfigBuilder ) WithSkipIssuerCheck (skipIssuerCheck bool ) * ConfigBuilder {
236+ b .config .SkipIssuerCheck = skipIssuerCheck
237+ return b
238+ }
239+
240+ // WithSkipAudienceCheck sets audience check toggle
241+ func (b * ConfigBuilder ) WithSkipAudienceCheck (skipAudienceCheck bool ) * ConfigBuilder {
242+ b .config .SkipAudienceCheck = skipAudienceCheck
243+ return b
244+ }
245+
246+ // WithSkipAudienceCheck sets expiry check toggle
247+ func (b * ConfigBuilder ) WithSkipExpiryCheck (skipExpiryCheck bool ) * ConfigBuilder {
248+ b .config .SkipExpiryCheck = skipExpiryCheck
249+ return b
250+ }
251+
226252// WithServerURL sets the full server URL directly
227253func (b * ConfigBuilder ) WithServerURL (url string ) * ConfigBuilder {
228254 b .config .ServerURL = url
@@ -289,6 +315,9 @@ func FromEnv() (*Config, error) {
289315 WithAudience (getEnv ("OIDC_AUDIENCE" , "" )).
290316 WithClientID (getEnv ("OIDC_CLIENT_ID" , "" )).
291317 WithClientSecret (getEnv ("OIDC_CLIENT_SECRET" , "" )).
318+ WithSkipAudienceCheck (getEnv ("OIDC_SKIP_AUDIENCE_CHECK" , "" ) != "" ).
319+ WithSkipIssuerCheck (getEnv ("OIDC_SKIP_ISSUER_CHECK" , "" ) != "" ).
320+ WithSkipExpiryCheck (getEnv ("OIDC_SKIP_EXPIRY_CHECK" , "" ) != "" ).
292321 WithServerURL (serverURL ).
293322 WithJWTSecret ([]byte (jwtSecret )).
294323 Build ()
0 commit comments