Class OidcSecurityConfiguration
java.lang.Object
org.apache.nifi.web.security.configuration.OidcSecurityConfiguration
OpenID Connect Configuration for Spring Security
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final longprivate final BearerTokenProviderprivate final org.springframework.security.oauth2.server.resource.web.BearerTokenResolverprivate static final Durationprivate final org.springframework.security.oauth2.jwt.JwtDecoderprivate final Durationprivate final LogoutRequestManagerprivate static final Stringprivate static final org.springframework.security.web.savedrequest.RequestCacheprivate final NiFiPropertiesprivate final PropertyEncryptorprivate static final Durationprivate final StateManagerProvider -
Constructor Summary
ConstructorsConstructorDescriptionOidcSecurityConfiguration(NiFiProperties properties, StateManagerProvider stateManagerProvider, PropertyEncryptor propertyEncryptor, BearerTokenProvider bearerTokenProvider, org.springframework.security.oauth2.server.resource.web.BearerTokenResolver bearerTokenResolver, org.springframework.security.oauth2.jwt.JwtDecoder jwtDecoder, LogoutRequestManager logoutRequestManager) -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.security.oauth2.client.endpoint.OAuth2AccessTokenResponseClient<org.springframework.security.oauth2.client.endpoint.OAuth2AuthorizationCodeGrantRequest> Access Token Response Client for retrieving Access Tokens using Authorization Codesorg.springframework.security.oauth2.client.web.AuthorizationRequestRepository<org.springframework.security.oauth2.core.endpoint.OAuth2AuthorizationRequest> OpenID Connect Authorization Request Repository with Cache abstraction based on Caffeine implementationAuthorized Client Converter for OpenID Connect Tokens supporting serialization of OpenID Connect TokensAuthorized Client Repository for storing OpenID Connect Tokens in application State Managerorg.springframework.security.oauth2.client.registration.ClientRegistrationRepositoryClient Registration Repository for OpenID Connect Discoveryprivate OidcAuthenticationSuccessHandlerprivate okhttp3.OkHttpClientprivate DurationgetTimeout(String timeoutExpression) org.springframework.security.oauth2.jwt.JwtDecoderFactory<org.springframework.security.oauth2.client.registration.ClientRegistration> OpenID Connect Identifier Token Decoder with configured JWS Algorithm for verificationorg.springframework.security.oauth2.client.web.OAuth2AuthorizationCodeGrantFilteroAuth2AuthorizationCodeGrantFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager) Authorization Code Grant Filter handles Authorization Server responses and updates the Authorized Client Repository with ID Token and optional Refresh Token informationorg.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilterAuthorization Request Redirect Filter handles initial OpenID Connect authentication and redirects to the Authorization Server using default filter path from Spring Securityorg.springframework.security.oauth2.client.web.OAuth2LoginAuthenticationFilteroAuth2LoginAuthenticationFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager, StandardAuthenticationEntryPoint authenticationEntryPoint) Login Authentication Filter handles Authentication Responses from the Authorization Serverorg.springframework.security.oauth2.client.oidc.authentication.OidcAuthorizationCodeAuthenticationProviderAuthorization Code Grant Authentication Provider wired to Spring Security Authentication ManagerOpenID Connect Bearer Token Refresh Filter exchanges OAuth2 Refresh Tokens with the Authorization Server and generates new application Bearer Tokens on successful responsesorg.springframework.http.client.ClientHttpRequestFactoryOpenID Connect Client HTTP Request Factory for communication with Authorization Serversorg.springframework.scheduling.concurrent.ThreadPoolTaskSchedulerCommand Scheduled for OpenID Connect operationsLogout Filter for completing logout processing using RP-Initiated Logout 1.0 when supportedorg.springframework.security.web.authentication.logout.LogoutSuccessHandlerLogout Success Handler redirects to the Authorization Server when supportedorg.springframework.web.client.RestOperationsOpenID Connect REST Operations for communication with Authorization Serversorg.springframework.security.oauth2.client.oidc.userinfo.OidcUserServiceOpenID Connect User Service wired to Authentication Provider for retrieving User Informationprivate voidsetSslSocketFactory(okhttp3.OkHttpClient.Builder builder) Token Revocation Response Client responsible for transmitting Refresh Token revocation requests to the Provider
-
Field Details
-
REQUEST_EXPIRATION
-
AUTHORIZATION_REQUEST_CACHE_SIZE
private static final long AUTHORIZATION_REQUEST_CACHE_SIZE- See Also:
-
DEFAULT_SOCKET_TIMEOUT
-
NIFI_TRUSTSTORE_STRATEGY
- See Also:
-
nullRequestCache
private static final org.springframework.security.web.savedrequest.RequestCache nullRequestCache -
keyRotationPeriod
-
properties
-
stateManagerProvider
-
propertyEncryptor
-
bearerTokenProvider
-
bearerTokenResolver
private final org.springframework.security.oauth2.server.resource.web.BearerTokenResolver bearerTokenResolver -
jwtDecoder
private final org.springframework.security.oauth2.jwt.JwtDecoder jwtDecoder -
logoutRequestManager
-
-
Constructor Details
-
OidcSecurityConfiguration
@Autowired public OidcSecurityConfiguration(NiFiProperties properties, StateManagerProvider stateManagerProvider, PropertyEncryptor propertyEncryptor, BearerTokenProvider bearerTokenProvider, org.springframework.security.oauth2.server.resource.web.BearerTokenResolver bearerTokenResolver, org.springframework.security.oauth2.jwt.JwtDecoder jwtDecoder, LogoutRequestManager logoutRequestManager)
-
-
Method Details
-
oAuth2AuthorizationCodeGrantFilter
@Bean public org.springframework.security.oauth2.client.web.OAuth2AuthorizationCodeGrantFilter oAuth2AuthorizationCodeGrantFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager) Authorization Code Grant Filter handles Authorization Server responses and updates the Authorized Client Repository with ID Token and optional Refresh Token information- Parameters:
authenticationManager- Spring Security Authentication Manager- Returns:
- OAuth2 Authorization Code Grant Filter
-
oAuth2AuthorizationRequestRedirectFilter
@Bean public org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter oAuth2AuthorizationRequestRedirectFilter()Authorization Request Redirect Filter handles initial OpenID Connect authentication and redirects to the Authorization Server using default filter path from Spring Security- Returns:
- OAuth2 Authorization Request Redirect Filter
-
oAuth2LoginAuthenticationFilter
@Bean public org.springframework.security.oauth2.client.web.OAuth2LoginAuthenticationFilter oAuth2LoginAuthenticationFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager, StandardAuthenticationEntryPoint authenticationEntryPoint) Login Authentication Filter handles Authentication Responses from the Authorization Server- Parameters:
authenticationManager- Spring Security Authentication ManagerauthenticationEntryPoint- Authentication Entry Point for handling failures- Returns:
- OAuth2 Login Authentication Filter
-
oidcBearerTokenRefreshFilter
OpenID Connect Bearer Token Refresh Filter exchanges OAuth2 Refresh Tokens with the Authorization Server and generates new application Bearer Tokens on successful responses- Returns:
- Bearer Token Refresh Filter
-
oidcLogoutFilter
Logout Filter for completing logout processing using RP-Initiated Logout 1.0 when supported- Returns:
- OpenID Connect Logout Filter
-
oidcLogoutSuccessHandler
@Bean public org.springframework.security.web.authentication.logout.LogoutSuccessHandler oidcLogoutSuccessHandler()Logout Success Handler redirects to the Authorization Server when supported- Returns:
- Logout Success Handler
-
oidcAuthorizationCodeAuthenticationProvider
@Bean public org.springframework.security.oauth2.client.oidc.authentication.OidcAuthorizationCodeAuthenticationProvider oidcAuthorizationCodeAuthenticationProvider()Authorization Code Grant Authentication Provider wired to Spring Security Authentication Manager- Returns:
- OpenID Connect Authorization Code Authentication Provider
-
accessTokenResponseClient
@Bean public org.springframework.security.oauth2.client.endpoint.OAuth2AccessTokenResponseClient<org.springframework.security.oauth2.client.endpoint.OAuth2AuthorizationCodeGrantRequest> accessTokenResponseClient()Access Token Response Client for retrieving Access Tokens using Authorization Codes- Returns:
- OAuth2 Access Token Response Client
-
oidcUserService
@Bean public org.springframework.security.oauth2.client.oidc.userinfo.OidcUserService oidcUserService()OpenID Connect User Service wired to Authentication Provider for retrieving User Information- Returns:
- OpenID Connect User Service
-
authorizedClientRepository
Authorized Client Repository for storing OpenID Connect Tokens in application State Manager- Returns:
- Authorized Client Repository
-
authorizedClientExpirationCommand
-
oidcCommandScheduler
@Bean public org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler oidcCommandScheduler()Command Scheduled for OpenID Connect operations- Returns:
- Thread Pool Task Executor
-
authorizedClientConverter
Authorized Client Converter for OpenID Connect Tokens supporting serialization of OpenID Connect Tokens- Returns:
- Authorized Client Converter
-
authorizationRequestRepository
@Bean public org.springframework.security.oauth2.client.web.AuthorizationRequestRepository<org.springframework.security.oauth2.core.endpoint.OAuth2AuthorizationRequest> authorizationRequestRepository()OpenID Connect Authorization Request Repository with Cache abstraction based on Caffeine implementation- Returns:
- Authorization Request Repository
-
idTokenDecoderFactory
@Bean public org.springframework.security.oauth2.jwt.JwtDecoderFactory<org.springframework.security.oauth2.client.registration.ClientRegistration> idTokenDecoderFactory()OpenID Connect Identifier Token Decoder with configured JWS Algorithm for verification- Returns:
- OpenID Connect Identifier Token Decoder
-
tokenRevocationResponseClient
Token Revocation Response Client responsible for transmitting Refresh Token revocation requests to the Provider- Returns:
- Token Revocation Response Client
-
clientRegistrationRepository
@Bean public org.springframework.security.oauth2.client.registration.ClientRegistrationRepository clientRegistrationRepository()Client Registration Repository for OpenID Connect Discovery- Returns:
- Client Registration Repository
-
oidcRestOperations
@Bean public org.springframework.web.client.RestOperations oidcRestOperations()OpenID Connect REST Operations for communication with Authorization Servers- Returns:
- REST Operations
-
oidcClientHttpRequestFactory
@Bean public org.springframework.http.client.ClientHttpRequestFactory oidcClientHttpRequestFactory()OpenID Connect Client HTTP Request Factory for communication with Authorization Servers- Returns:
- Client HTTP Request Factory
-
getHttpClient
private okhttp3.OkHttpClient getHttpClient() -
getTimeout
-
setSslSocketFactory
private void setSslSocketFactory(okhttp3.OkHttpClient.Builder builder) -
getAuthenticationSuccessHandler
-
getUserClaimNames
-