java.lang.Object
io.helidon.security.EndpointConfig
- All Implemented Interfaces:
AbacSupport
Each endpoint can have security configuration either statically declared (e.g. annotations) or
dynamically provided through manual security request.
This class covers all kinds of configurations supported:
- Annotations as gathered by the integration component (e.g. from Jersey resource class and method)
- Configuration as read from a configuration resource (e.g. when integrating web server)
- Attributes (key/value) configured by a programmer
- Custom objects configured by a programmer
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic enum
Scope of annotations used in applications that integrate security.static final class
A fluent API builder forEndpointConfig
.Nested classes/interfaces inherited from interface io.helidon.security.util.AbacSupport
AbacSupport.BasicAttributes
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptionA collection of all property names in this container.abacAttributeRaw
(String key) Return the actual property value or null if not present.static EndpointConfig.Builder
builder()
Creates a fluent API builder to build new instances of this class.GetConfig
instance for a config key.static EndpointConfig
create()
Create an instance of endpoint config with default values (e.g.derive()
Derive a new endpoint configuration builder based on this instance.<U> Optional
<U> Get an instance of a custom object configuring this endpoint.Collection
<Class<?>> Get all classes of custom endpoint configuration object registered.Get all security levels endpoint configuration object registered.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.helidon.security.util.AbacSupport
abacAttribute
-
Field Details
-
PROPERTY_OUTBOUND_ID
Configure this for outbound requests to override id to use (client id, user - depending on use case). This is supported for example for HTTP Basic authentication and JWT authentication providers.- See Also:
-
PROPERTY_OUTBOUND_SECRET
Configure this for outbound requests to override secret to use (client secret, actual password - depending on use case). This is supported for example for HTTP Basic authentication provider.- See Also:
-
-
Method Details
-
builder
Creates a fluent API builder to build new instances of this class.- Returns:
- a builder instance
-
create
Create an instance of endpoint config with default values (e.g. all empty).- Returns:
- endpoint config instance
-
abacAttributeRaw
Description copied from interface:AbacSupport
Return the actual property value or null if not present. This is the only method that needs to be implemented.- Specified by:
abacAttributeRaw
in interfaceAbacSupport
- Parameters:
key
- key (name) of the property- Returns:
- value of the property or null
-
abacAttributeNames
Description copied from interface:AbacSupport
A collection of all property names in this container.- Specified by:
abacAttributeNames
in interfaceAbacSupport
- Returns:
- collection of keys
-
instance
Get an instance of a custom object configuring this endpoint.- Type Parameters:
U
- type of the configuration- Parameters:
clazz
- class the instance is bound under (only explicit binding is supported)- Returns:
- instance of the custom object if present
-
instanceKeys
Get all classes of custom endpoint configuration object registered.- Returns:
- classes that are keys in the custom object store
-
config
GetConfig
instance for a config key.- Parameters:
configKey
- key of configuration expected- Returns:
- Config instance if present in this endpoint configuration
-
securityLevels
Get all security levels endpoint configuration object registered. The first level representsEndpointConfig.AnnotationScope.APPLICATION
level annotations. Other levels are representations of each resource and method used on path to get to the target method.- Returns:
- all registered security levels
-
derive
Derive a new endpoint configuration builder based on this instance.- Returns:
- builder to build a modified copy of this endpoint config
-