Package org.springframework.security.web.webauthn.authentication

# Class PublicKeyCredentialRequestOptionsFilter

java.lang.Object
org.springframework.web.filter.GenericFilterBean
org.springframework.web.filter.OncePerRequestFilter
org.springframework.security.web.webauthn.authentication.PublicKeyCredentialRequestOptionsFilter

All Implemented Interfaces:
  `jakarta.servlet.Filter`, `org.springframework.beans.factory.Aware`, `org.springframework.beans.factory.BeanNameAware`, `org.springframework.beans.factory.DisposableBean`, `org.springframework.beans.factory.InitializingBean`, `org.springframework.context.EnvironmentAware`, `org.springframework.core.env.EnvironmentCapable`, `org.springframework.web.context.ServletContextAware`

public class PublicKeyCredentialRequestOptionsFilter extends org.springframework.web.filter.OncePerRequestFilter
A `Filter` that renders the `PublicKeyCredentialRequestOptions` in order to get a credential.

Since:
  6.4

## Field Summary

### Fields inherited from class org.springframework.web.filter.OncePerRequestFilter

`ALREADY_FILTERED_SUFFIX`

### Fields inherited from class org.springframework.web.filter.GenericFilterBean

`logger`

## Constructor Summary

Constructors
Constructor
Description
`PublicKeyCredentialRequestOptionsFilter(WebAuthnRelyingPartyOperations rpOptions)`
Creates a new instance with the provided `WebAuthnRelyingPartyOperations`.

## Method Summary

Modifier and Type
Method
Description
`protected void`
`doFilterInternal(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, jakarta.servlet.FilterChain filterChain)`
`void`
`setConverter(org.springframework.http.converter.HttpMessageConverter<Object> converter)`
Sets the `HttpMessageConverter` to use.
`void`
`setRequestOptionsRepository(PublicKeyCredentialRequestOptionsRepository requestOptionsRepository)`
Sets the `PublicKeyCredentialRequestOptionsRepository` to use.
`void`
`setSecurityContextHolderStrategy(org.springframework.security.core.context.SecurityContextHolderStrategy securityContextHolderStrategy)`
Sets the `SecurityContextHolderStrategy` to use.

### Methods inherited from class org.springframework.web.filter.OncePerRequestFilter

`doFilter, doFilterNestedErrorDispatch, getAlreadyFilteredAttributeName, isAsyncDispatch, isAsyncStarted, shouldNotFilter, shouldNotFilterAsyncDispatch, shouldNotFilterErrorDispatch`

### Methods inherited from class org.springframework.web.filter.GenericFilterBean

`addRequiredProperty, afterPropertiesSet, createEnvironment, destroy, getEnvironment, getFilterConfig, getFilterName, getServletContext, init, initBeanWrapper, initFilterBean, setBeanName, setEnvironment, setServletContext`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### PublicKeyCredentialRequestOptionsFilter

public PublicKeyCredentialRequestOptionsFilter(WebAuthnRelyingPartyOperations rpOptions)
Creates a new instance with the provided `WebAuthnRelyingPartyOperations`.

Parameters:
  `rpOptions` - the `WebAuthnRelyingPartyOperations` to use. Cannot be null.

## Method Details

### doFilterInternal

protected void doFilterInternal(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, jakarta.servlet.FilterChain filterChain) throws jakarta.servlet.ServletException, IOException

Specified by:
  `doFilterInternal` in class `org.springframework.web.filter.OncePerRequestFilter`
Throws:
  `jakarta.servlet.ServletException`
  `IOException`

### setRequestOptionsRepository

public void setRequestOptionsRepository(PublicKeyCredentialRequestOptionsRepository requestOptionsRepository)
Sets the `PublicKeyCredentialRequestOptionsRepository` to use.

Parameters:
  `requestOptionsRepository` - the `PublicKeyCredentialRequestOptionsRepository` to use. Cannot be null.

### setConverter

public void setConverter(org.springframework.http.converter.HttpMessageConverter<Object> converter)
Sets the `HttpMessageConverter` to use.

Parameters:
  `converter` - the `HttpMessageConverter` to use. Cannot be null.

### setSecurityContextHolderStrategy

public void setSecurityContextHolderStrategy(org.springframework.security.core.context.SecurityContextHolderStrategy securityContextHolderStrategy)
Sets the `SecurityContextHolderStrategy` to use.

Parameters:
  `securityContextHolderStrategy` - the `SecurityContextHolderStrategy` to use. Cannot be null.