@@ -23,45 +23,46 @@ const (
2323)
2424
2525var (
26- _ AuthorizeCodeLifespanProvider = (* Config )(nil )
27- _ RefreshTokenLifespanProvider = (* Config )(nil )
28- _ AccessTokenLifespanProvider = (* Config )(nil )
29- _ ScopeStrategyProvider = (* Config )(nil )
30- _ AudienceStrategyProvider = (* Config )(nil )
31- _ RedirectSecureCheckerProvider = (* Config )(nil )
32- _ RefreshTokenScopesProvider = (* Config )(nil )
33- _ DisableRefreshTokenValidationProvider = (* Config )(nil )
34- _ AccessTokenIssuerProvider = (* Config )(nil )
35- _ JWTScopeFieldProvider = (* Config )(nil )
36- _ AllowedPromptsProvider = (* Config )(nil )
37- _ OmitRedirectScopeParamProvider = (* Config )(nil )
38- _ MinParameterEntropyProvider = (* Config )(nil )
39- _ SanitationAllowedProvider = (* Config )(nil )
40- _ EnforcePKCEForPublicClientsProvider = (* Config )(nil )
41- _ EnablePKCEPlainChallengeMethodProvider = (* Config )(nil )
42- _ EnforcePKCEProvider = (* Config )(nil )
43- _ GrantTypeJWTBearerCanSkipClientAuthProvider = (* Config )(nil )
44- _ GrantTypeJWTBearerIDOptionalProvider = (* Config )(nil )
45- _ GrantTypeJWTBearerIssuedDateOptionalProvider = (* Config )(nil )
46- _ GetJWTMaxDurationProvider = (* Config )(nil )
47- _ IDTokenLifespanProvider = (* Config )(nil )
48- _ IDTokenIssuerProvider = (* Config )(nil )
49- _ JWKSFetcherStrategyProvider = (* Config )(nil )
50- _ ClientAuthenticationStrategyProvider = (* Config )(nil )
51- _ SendDebugMessagesToClientsProvider = (* Config )(nil )
52- _ ResponseModeHandlerExtensionProvider = (* Config )(nil )
53- _ MessageCatalogProvider = (* Config )(nil )
54- _ FormPostHTMLTemplateProvider = (* Config )(nil )
55- _ TokenURLProvider = (* Config )(nil )
56- _ GetSecretsHashingProvider = (* Config )(nil )
57- _ HTTPClientProvider = (* Config )(nil )
58- _ HMACHashingProvider = (* Config )(nil )
59- _ AuthorizeEndpointHandlersProvider = (* Config )(nil )
60- _ TokenEndpointHandlersProvider = (* Config )(nil )
61- _ TokenIntrospectionHandlersProvider = (* Config )(nil )
62- _ RevocationHandlersProvider = (* Config )(nil )
63- _ PushedAuthorizeRequestHandlersProvider = (* Config )(nil )
64- _ PushedAuthorizeRequestConfigProvider = (* Config )(nil )
26+ _ AuthorizeCodeLifespanProvider = (* Config )(nil )
27+ _ RefreshTokenLifespanProvider = (* Config )(nil )
28+ _ AccessTokenLifespanProvider = (* Config )(nil )
29+ _ ScopeStrategyProvider = (* Config )(nil )
30+ _ AudienceStrategyProvider = (* Config )(nil )
31+ _ RedirectSecureCheckerProvider = (* Config )(nil )
32+ _ RefreshTokenScopesProvider = (* Config )(nil )
33+ _ DisableRefreshTokenValidationProvider = (* Config )(nil )
34+ _ AccessTokenIssuerProvider = (* Config )(nil )
35+ _ JWTScopeFieldProvider = (* Config )(nil )
36+ _ AllowedPromptsProvider = (* Config )(nil )
37+ _ OmitRedirectScopeParamProvider = (* Config )(nil )
38+ _ MinParameterEntropyProvider = (* Config )(nil )
39+ _ SanitationAllowedProvider = (* Config )(nil )
40+ _ EnforcePKCEForPublicClientsProvider = (* Config )(nil )
41+ _ EnablePKCEPlainChallengeMethodProvider = (* Config )(nil )
42+ _ EnforcePKCEProvider = (* Config )(nil )
43+ _ GrantTypeTokenExchangeCanSkipClientAuthProvider = (* Config )(nil )
44+ _ GrantTypeJWTBearerCanSkipClientAuthProvider = (* Config )(nil )
45+ _ GrantTypeJWTBearerIDOptionalProvider = (* Config )(nil )
46+ _ GrantTypeJWTBearerIssuedDateOptionalProvider = (* Config )(nil )
47+ _ GetJWTMaxDurationProvider = (* Config )(nil )
48+ _ IDTokenLifespanProvider = (* Config )(nil )
49+ _ IDTokenIssuerProvider = (* Config )(nil )
50+ _ JWKSFetcherStrategyProvider = (* Config )(nil )
51+ _ ClientAuthenticationStrategyProvider = (* Config )(nil )
52+ _ SendDebugMessagesToClientsProvider = (* Config )(nil )
53+ _ ResponseModeHandlerExtensionProvider = (* Config )(nil )
54+ _ MessageCatalogProvider = (* Config )(nil )
55+ _ FormPostHTMLTemplateProvider = (* Config )(nil )
56+ _ TokenURLProvider = (* Config )(nil )
57+ _ GetSecretsHashingProvider = (* Config )(nil )
58+ _ HTTPClientProvider = (* Config )(nil )
59+ _ HMACHashingProvider = (* Config )(nil )
60+ _ AuthorizeEndpointHandlersProvider = (* Config )(nil )
61+ _ TokenEndpointHandlersProvider = (* Config )(nil )
62+ _ TokenIntrospectionHandlersProvider = (* Config )(nil )
63+ _ RevocationHandlersProvider = (* Config )(nil )
64+ _ PushedAuthorizeRequestHandlersProvider = (* Config )(nil )
65+ _ PushedAuthorizeRequestConfigProvider = (* Config )(nil )
6566)
6667
6768type Config struct {
@@ -148,6 +149,9 @@ type Config struct {
148149 // GrantTypeJWTBearerMaxDuration sets the maximum time after JWT issued date, during which the JWT is considered valid.
149150 GrantTypeJWTBearerMaxDuration time.Duration
150151
152+ // GrantTypeTokenExchangeCanSkipClientAuth indicates the stretegy to check if client authentication can be skipped.
153+ GrantTypeTokenExchangeCanSkipClientAuth CanSkipClientAuthenticationStrategy
154+
151155 // ClientAuthenticationStrategy indicates the Strategy to authenticate client requests
152156 ClientAuthenticationStrategy ClientAuthenticationStrategy
153157
@@ -299,6 +303,12 @@ func (c *Config) GetGrantTypeJWTBearerCanSkipClientAuth(ctx context.Context) boo
299303 return c .GrantTypeJWTBearerCanSkipClientAuth
300304}
301305
306+ // GetGrantTypeTokenExchangeCanSkipClientAuth returns the GrantTypeTokenExchangeCanSkipClientAuth field.
307+ // Defaults to nil, in which case TokenExchange follows the default behavior.
308+ func (c * Config ) GetGrantTypeTokenExchangeCanSkipClientAuth (ctx context.Context ) CanSkipClientAuthenticationStrategy {
309+ return c .GrantTypeTokenExchangeCanSkipClientAuth
310+ }
311+
302312// GetEnforcePKCE If set to true, public clients must use PKCE.
303313func (c * Config ) GetEnforcePKCE (ctx context.Context ) bool {
304314 return c .EnforcePKCE
0 commit comments