Package io.helidon.security.abac.scope
Class ScopeValidator
- java.lang.Object
- 
- io.helidon.security.abac.scope.ScopeValidator
 
- 
- All Implemented Interfaces:
- AbacValidator<ScopeValidator.ScopesConfig>
 
 public final class ScopeValidator extends Object implements AbacValidator<ScopeValidator.ScopesConfig> ABAC validator for OAuth2 scopes.
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description static classScopeValidator.BuilderA fluent API builder forScopeValidator.static interfaceScopeValidator.ScopeScope annotation.static interfaceScopeValidator.ScopesRepeatable annotation forScopeValidator.Scope.static classScopeValidator.ScopesConfigConfiguration custom class for scope validator.
 - 
Field SummaryFields Modifier and Type Field Description static StringSCOPE_GRANT_TYPEUse this type when constructing aGrant, so this validator can accept it as a scope.
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ScopeValidator.Builderbuilder()Create a fluent API builder.Class<ScopeValidator.ScopesConfig>configClass()Class of the configuration type.StringconfigKey()Key of a configuration entry that maps to this validator's configuration.static ScopeValidatorcreate()Create an instance of scope validator with default configuration.static ScopeValidatorcreate(Config config)Create a new validator instance from configuration.ScopeValidator.ScopesConfigfromAnnotations(EndpointConfig endpointConfig)Load configuration class instance from annotations this validator expects.ScopeValidator.ScopesConfigfromConfig(Config config)Load configuration class instance fromConfig.Collection<Class<? extends Annotation>>supportedAnnotations()Provide extension annotations supported by this validator (e.g.voidvalidate(ScopeValidator.ScopesConfig config, Errors.Collector collector, ProviderRequest request)Validate that the configuration provided would grant access to the resource.
 
- 
- 
- 
Field Detail- 
SCOPE_GRANT_TYPEpublic static final String SCOPE_GRANT_TYPE Use this type when constructing aGrant, so this validator can accept it as a scope.- See Also:
- Constant Field Values
 
 
- 
 - 
Method Detail- 
builderpublic static ScopeValidator.Builder builder() Create a fluent API builder.- Returns:
- a new builder instance
 
 - 
createpublic static ScopeValidator create() Create an instance of scope validator with default configuration.- Returns:
- scope validator that uses "AND" operator for required scopes
 
 - 
createpublic static ScopeValidator create(Config config) Create a new validator instance from configuration.- Parameters:
- config- configuration on the key of this provider
- Returns:
- scope validator instance
 
 - 
configClasspublic Class<ScopeValidator.ScopesConfig> configClass() Description copied from interface:AbacValidatorClass of the configuration type.- Specified by:
- configClassin interface- AbacValidator<ScopeValidator.ScopesConfig>
- Returns:
- class of the type
 
 - 
supportedAnnotationspublic Collection<Class<? extends Annotation>> supportedAnnotations() Description copied from interface:AbacValidatorProvide extension annotations supported by this validator (e.g.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. The annotations will be transformed to configuration byAbacValidator.fromAnnotations(EndpointConfig).- Specified by:
- supportedAnnotationsin interface- AbacValidator<ScopeValidator.ScopesConfig>
- Returns:
- Collection of annotations this provider expects.
 
 - 
configKeypublic String configKey() Description copied from interface:AbacValidatorKey of a configuration entry that maps to this validator's configuration.- Specified by:
- configKeyin interface- AbacValidator<ScopeValidator.ScopesConfig>
- Returns:
- key in a config Config
 
 - 
fromConfigpublic ScopeValidator.ScopesConfig fromConfig(Config config) Description copied from interface:AbacValidatorLoad configuration class instance fromConfig.- Specified by:
- fromConfigin interface- AbacValidator<ScopeValidator.ScopesConfig>
- Parameters:
- config- configuration located on the key this validator expects in- AbacValidator.configKey()
- Returns:
- instance of configuration class
 
 - 
fromAnnotationspublic ScopeValidator.ScopesConfig fromAnnotations(EndpointConfig endpointConfig) Description copied from interface:AbacValidatorLoad configuration class instance from annotations this validator expects.- Specified by:
- fromAnnotationsin interface- AbacValidator<ScopeValidator.ScopesConfig>
- Parameters:
- endpointConfig- endpoint config
- Returns:
- instance of configuration class
 
 - 
validatepublic void validate(ScopeValidator.ScopesConfig config, Errors.Collector collector, ProviderRequest request) Description copied from interface:AbacValidatorValidate that the configuration provided would grant access to the resource. Update collector with errors, if access should be denied usingErrors.Collector.fatal(Object, String).- Specified by:
- validatein interface- AbacValidator<ScopeValidator.ScopesConfig>
- Parameters:
- config- configuration of this validator
- collector- error collector to gather issues with this request (e.g. "service not in role ABC")
- request- ABAC context containing subject(s), object(s) and environment
 
 
- 
 
-