public interface WhoAmIExtendedRequest extends ExtendedRequest<WhoAmIExtendedResult>
The following example demonstrates use of the Who Am I? request and response.
Connection connection = ...;
String name = ...;
char[] password = ...;
Result result = connection.bind(name, password);
if (result.isSuccess()) {
WhoAmIExtendedRequest request = Requests.newWhoAmIExtendedRequest();
WhoAmIExtendedResult extResult = connection.extendedRequest(request);
if (extResult.isSuccess()) {
// Authz ID: " + extResult.getAuthorizationID());
}
}
This operation may preferable to the Authorization Identity Controls
mechanism defined in RFC 3829, which uses Bind request and response controls
to request and return the authorization identity. Bind controls are not
protected by security layers established by the Bind operation that includes
them. While it is possible to establish security layers using StartTLS prior
to the Bind operation, it is often desirable to use security layers
established by the Bind operation. An extended operation sent after a Bind
operation is protected by the security layers established by the Bind
operation.| Modifier and Type | Field and Description |
|---|---|
static ExtendedRequestDecoder<WhoAmIExtendedRequest,WhoAmIExtendedResult> |
DECODER
A decoder which can be used to decode who am I extended operation
requests.
|
static String |
OID
The OID for the who am I extended operation request.
|
| Modifier and Type | Method and Description |
|---|---|
WhoAmIExtendedRequest |
addControl(Control control)
Adds the provided control to this request.
|
<C extends Control> |
getControl(ControlDecoder<C> decoder,
DecodeOptions options)
Decodes and returns the first control in this request having an OID
corresponding to the provided control decoder.
|
List<Control> |
getControls()
Returns a
List containing the controls included with this
request. |
String |
getOID()
Returns the numeric OID associated with this extended request.
|
ExtendedResultDecoder<WhoAmIExtendedResult> |
getResultDecoder()
Returns a decoder which can be used to decoded responses to this extended
request.
|
ByteString |
getValue()
Returns the value, if any, associated with this extended request.
|
boolean |
hasValue()
Returns
true if this extended request has a value. |
containsControlstatic final ExtendedRequestDecoder<WhoAmIExtendedRequest,WhoAmIExtendedResult> DECODER
static final String OID
WhoAmIExtendedRequest addControl(Control control)
RequestaddControl in interface ExtendedRequest<WhoAmIExtendedResult>addControl in interface Requestcontrol - The control to be added to this request.<C extends Control> C getControl(ControlDecoder<C> decoder, DecodeOptions options) throws DecodeException
RequestgetControl in interface ExtendedRequest<WhoAmIExtendedResult>getControl in interface RequestC - The type of control to be decoded and returned.decoder - The control decoder.options - The set of decode options which should be used when decoding
the control.null if the control is not
included with this request.DecodeException - If the control could not be decoded because it was malformed
in some way (e.g. the control value was missing, or its
content could not be decoded).List<Control> getControls()
RequestList containing the controls included with this
request. The returned List may be modified if permitted by this
request.getControls in interface ExtendedRequest<WhoAmIExtendedResult>getControls in interface RequestList containing the controls.String getOID()
ExtendedRequestgetOID in interface ExtendedRequest<WhoAmIExtendedResult>ExtendedResultDecoder<WhoAmIExtendedResult> getResultDecoder()
ExtendedRequestgetResultDecoder in interface ExtendedRequest<WhoAmIExtendedResult>ByteString getValue()
ExtendedRequestgetValue in interface ExtendedRequest<WhoAmIExtendedResult>null
if there is no value.boolean hasValue()
ExtendedRequesttrue if this extended request has a value. In some
circumstances it may be useful to determine if a extended request has a
value, without actually calculating the value and incurring any
performance costs.hasValue in interface ExtendedRequest<WhoAmIExtendedResult>true if this extended request has a value, or
false if there is no value.Copyright © 2011-2015 ForgeRock AS. All Rights Reserved.