Class IdcsMtRoleMapperProvider
java.lang.Object
io.helidon.security.providers.idcs.mapper.IdcsRoleMapperProviderBase
io.helidon.security.providers.idcs.mapper.IdcsMtRoleMapperProvider
- All Implemented Interfaces:
SecurityProvider,SubjectMappingProvider
@Deprecated(forRemoval=true,
since="2.4.0")
public class IdcsMtRoleMapperProvider
extends IdcsRoleMapperProviderBase
Deprecated, for removal: This API element is subject to removal in a future version.
SubjectMappingProvider to obtain roles from IDCS server for a user.
Supports multi tenancy in IDCS.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classDeprecated, for removal: This API element is subject to removal in a future version.Fluent API builder forIdcsMtRoleMapperProvider.protected static classDeprecated, for removal: This API element is subject to removal in a future version.Default implementation of theIdcsMtRoleMapperProvider.MultitenancyEndpoints.static classDeprecated, for removal: This API element is subject to removal in a future version.Cache key for multitenant environments.static interfaceDeprecated, for removal: This API element is subject to removal in a future version.Multitenant endpoints for accessing IDCS services.Nested classes/interfaces inherited from class io.helidon.security.providers.idcs.mapper.IdcsRoleMapperProviderBase
IdcsRoleMapperProviderBase.AppToken -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final StringDeprecated, for removal: This API element is subject to removal in a future version.Name of the header containing the IDCS app.protected static final StringDeprecated, for removal: This API element is subject to removal in a future version.Name of the header containing the IDCS tenant.Fields inherited from class io.helidon.security.providers.idcs.mapper.IdcsRoleMapperProviderBase
ACCESS_TOKEN_KEY, IDCS_SUBJECT_TYPE_CLIENT, IDCS_SUBJECT_TYPE_USER, PARENT_CONTEXT_CLIENT_PROPERTY, ROLE_APPROLE, ROLE_GROUP -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedDeprecated, for removal: This API element is subject to removal in a future version.Configure instance from any descendant ofIdcsMtRoleMapperProvider.Builder. -
Method Summary
Modifier and TypeMethodDescriptionaddAdditionalGrants(String idcsTenantId, String idcsAppName, Subject subject) Deprecated, for removal: This API element is subject to removal in a future version.Extension point to add additional grants to the subject being created.builder()Deprecated, for removal: This API element is subject to removal in a future version.Creates a new builder to build instances of this class.static SecurityProviderDeprecated, for removal: This API element is subject to removal in a future version.Creates an instance from configuration.protected Subjectenhance(Subject subject, ProviderRequest request, AuthenticationResponse previousResponse) Deprecated, for removal: This API element is subject to removal in a future version.Enhance the subject with appropriate roles from IDCS.protected Optional<IdcsMtContext>extractIdcsMtContext(Subject subject, ProviderRequest request) Deprecated, for removal: This API element is subject to removal in a future version.Extract IDCS multitenancy context form the the request.getAppToken(String idcsTenantId, RoleMapTracing tracing) Deprecated, for removal: This API element is subject to removal in a future version.Gets token from cache or from server.getGrantsFromServer(String idcsTenantId, String idcsAppName, Subject subject) Deprecated, for removal: This API element is subject to removal in a future version.Get grants from IDCS server.Deprecated, for removal: This API element is subject to removal in a future version.Get theIdcsMtRoleMapperProvider.MultitenancyEndpointsused to get assertion and token endpoints of a multitenant IDCS.Methods inherited from class io.helidon.security.providers.idcs.mapper.IdcsRoleMapperProviderBase
buildSubject, complete, defaultIdcsSubjectType, map, oidcConfig, processServerResponseMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.helidon.security.spi.SecurityProvider
supportedAnnotations, supportedAttributes, supportedConfigKeys, supportedCustomObjects
-
Field Details
-
IDCS_TENANT_HEADER
Deprecated, for removal: This API element is subject to removal in a future version.Name of the header containing the IDCS tenant. This is the default used, can be overriden in builder byIdcsMtRoleMapperProvider.Builder.idcsTenantTokenHandler(io.helidon.security.util.TokenHandler)- See Also:
-
IDCS_APP_HEADER
Deprecated, for removal: This API element is subject to removal in a future version.Name of the header containing the IDCS app. This is the default used, can be overriden in builder byIdcsMtRoleMapperProvider.Builder.idcsAppNameTokenHandler(io.helidon.security.util.TokenHandler)- See Also:
-
-
Constructor Details
-
IdcsMtRoleMapperProvider
Deprecated, for removal: This API element is subject to removal in a future version.Configure instance from any descendant ofIdcsMtRoleMapperProvider.Builder.- Parameters:
builder- containing the required configuration
-
-
Method Details
-
builder
Deprecated, for removal: This API element is subject to removal in a future version.Creates a new builder to build instances of this class.- Returns:
- a new fluent API builder.
-
create
Deprecated, for removal: This API element is subject to removal in a future version.Creates an instance from configuration.Expects:
- oidc-config to load an instance of
OidcConfig - cache-config (optional) to load an instance of
EvictableCachefor role caching
- Parameters:
config- configuration of this provider- Returns:
- a new instance configured from config
- oidc-config to load an instance of
-
enhance
protected Subject enhance(Subject subject, ProviderRequest request, AuthenticationResponse previousResponse) Deprecated, for removal: This API element is subject to removal in a future version.Enhance the subject with appropriate roles from IDCS.- Specified by:
enhancein classIdcsRoleMapperProviderBase- Parameters:
subject- subject of the user (never null)request- provider requestpreviousResponse- authenticated response (never null)- Returns:
- enhanced subject
-
extractIdcsMtContext
Deprecated, for removal: This API element is subject to removal in a future version.Extract IDCS multitenancy context form the the request.By default, the context is extracted from the headers using token handlers for
tenantandapp.- Parameters:
subject- Subject that is being mappedrequest- ProviderRequest context that is being mapped.- Returns:
- Optional with the context, empty if the context is not present in the request.
-
addAdditionalGrants
protected Optional<List<? extends Grant>> addAdditionalGrants(String idcsTenantId, String idcsAppName, Subject subject) Deprecated, for removal: This API element is subject to removal in a future version.Extension point to add additional grants to the subject being created.- Parameters:
idcsTenantId- IDCS tenant ididcsAppName- IDCS application namesubject- subject of the user/service- Returns:
- list with new grants to add to the enhanced subject
-
getGrantsFromServer
protected Optional<List<? extends Grant>> getGrantsFromServer(String idcsTenantId, String idcsAppName, Subject subject) Deprecated, for removal: This API element is subject to removal in a future version.Get grants from IDCS server. The result is cached.- Parameters:
idcsTenantId- ID of the IDCS tenantidcsAppName- Name of IDCS applicationsubject- subject to get grants for- Returns:
- optional list of grants from server
-
getAppToken
Deprecated, for removal: This API element is subject to removal in a future version.Gets token from cache or from server.- Parameters:
idcsTenantId- id of tenanttracing- Role mapping tracing instance to correctly trace outbound calls- Returns:
- the token to be used to authenticate this service
-
multitenancyEndpoints
Deprecated, for removal: This API element is subject to removal in a future version.Get theIdcsMtRoleMapperProvider.MultitenancyEndpointsused to get assertion and token endpoints of a multitenant IDCS.- Returns:
- endpoints to use by this implementation
-
IdcsMtRoleMapperRxProviderinstead