T - the type of PluginConfiguration class for this AsyncIdentityMappingPluginpublic interface AsyncIdentityMappingPlugin<T extends PluginConfiguration> extends DescribesUIConfigurable, ConfigurablePlugin<T>
AsyncIdentityMappingPlugin is the runtime instantiation of an Identity Mapping defined in the
Administrative API that supports asynchronous computation.
AsyncIdentityMappingPlugin should only be used when the logic of the Identity Mapping requires using
a HttpClient. If a HttpClient is not required, IdentityMappingPlugin should be
implemented instead.IdentityMappingPlugin| Modifier and Type | Method and Description |
|---|---|
CompletionStage<Void> |
mapAnonymousIdentity(Request request,
Exchange exchange)
Maps the anonymous identity.
|
CompletionStage<Void> |
mapIdentity(Identity identity,
Request request,
Exchange exchange)
Maps the identity by inspecting the identity associated with the request and making modifications to the request
and/or exchange.
|
getConfigurationFieldsconfigure, getConfigurationCompletionStage<Void> mapIdentity(Identity identity, Request request, Exchange exchange)
If the subject is configured in the IdentityMapping, Identity.setMappedSubject(java.lang.String)
should be called, setting the subject value.
NOTE: Modifications to the exchange via Exchange.setRequest(Request), and
Exchange.setResponse(Response) will be ignored
identity - the Identity for the current transactionrequest - the Requestexchange - the current Exchange being processedCompletionStage representing the asynchronous completion of the method. If this method does
not require use of a HttpClient, the logic of the method can be performed synchronously and
then return a completed CompletionStage with code like:
CompletableFuture.completedFuture(null)
CompletionStage<Void> mapAnonymousIdentity(Request request, Exchange exchange)
If the identity is mapped to request headers, this method should clobbers headers that would be set when an identity was present in the request.
NOTE: Modifications to the exchange via Exchange.setRequest(Request), and
Exchange.setResponse(Response) will be ignored
request - the Requestexchange - the current Exchange being processedCompletionStage representing the asynchronous completion of the method. If this method does
not require use of a HttpClient, the logic of the method can be performed synchronously and
then return a completed CompletionStage with code like:
CompletableFuture.completedFuture(null)
Copyright 2023 Ping Identity Corp. All rights reserved.