Package io.helidon.security.spi
Interface SecurityProvider
-
- All Known Subinterfaces:
AuditProvider
,AuthenticationProvider
,AuthorizationProvider
,OutboundSecurityProvider
,SubjectMappingProvider
- All Known Implementing Classes:
AbacProvider
,GoogleTokenProvider
,HeaderAtnProvider
,HttpBasicAuthProvider
,HttpDigestAuthProvider
,HttpSignProvider
,JwtAuthProvider
,JwtProvider
,OidcProvider
,SynchronousProvider
public interface SecurityProvider
Base interface for all security providers.- See Also:
EndpointConfig
,SecurityContext.endpointConfig()
-
-
Method Summary
All Methods Instance Methods Default Methods Modifier and Type Method Description default Collection<Class<? extends Annotation>>
supportedAnnotations()
Provide extension annotations supported by this provider (e.g.default Collection<String>
supportedAttributes()
A collection of attribute names expected by this provider to override endpoint configuration.default Collection<String>
supportedConfigKeys()
Keys expected in configuration.default Collection<Class<? extends ProviderConfig>>
supportedCustomObjects()
Class of the configuration type.
-
-
-
Method Detail
-
supportedAnnotations
default Collection<Class<? extends Annotation>> supportedAnnotations()
Provide extension annotations supported by this provider (e.g.javax.annotation.security.RolesAllowed
). Annotations will be collected according to framework in use. For JAX-RS, annotations from application class, resource class and resource methods will be collected.- Returns:
- Collection of annotations this provider expects.
- See Also:
EndpointConfig.annotations(EndpointConfig.AnnotationScope...)
,EndpointConfig.combineAnnotations(Class, EndpointConfig.AnnotationScope...)
-
supportedConfigKeys
default Collection<String> supportedConfigKeys()
Keys expected in configuration. This may be used in integrations that can be fully configured through a file (e.g. integration with web server). This is a configuration of a specific resource access (e.g. GET on /my/resource) and is to be used by this provider to evaluate security.- Returns:
- name of the configuration key or empty (default)
- See Also:
EndpointConfig.config(String)
-
supportedCustomObjects
default Collection<Class<? extends ProviderConfig>> supportedCustomObjects()
Class of the configuration type. The provider may use a POJO implementing aProviderConfig
to configure it. When configuring security, you user can provide an instance of such a class to configure that provider.- Returns:
- class of the type or empty (default)
- See Also:
EndpointConfig.instance(Class)
-
supportedAttributes
default Collection<String> supportedAttributes()
A collection of attribute names expected by this provider to override endpoint configuration.- Returns:
- collection of supported attribute names
- See Also:
AbacSupport.abacAttribute(String)
-
-