Interface WhoAmIExtendedRequest
- All Superinterfaces:
ExtendedRequest<WhoAmIExtendedResult>,Request
The who am I extended request as defined in RFC 4532. This operation allows
clients to obtain the primary authorization identity, in its primary form,
that the server has associated with the user or application entity.
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.- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ExtendedRequestDecoder<WhoAmIExtendedRequest, WhoAmIExtendedResult> A decoder which can be used to decode who am I extended operation requests.static final StringThe OID for the who am I extended operation request. -
Method Summary
Modifier and TypeMethodDescriptionaddControl(Control control) Adds the provided control to this request.<C extends Control>
CgetControl(ControlDecoder<C> decoder, DecodeOptions options) Decodes and returns the first control in this request having an OID corresponding to the provided control decoder.Returns aListcontaining the controls included with this request.getOID()Returns the numeric OID associated with this extended request.Returns a decoder which can be used to decoded responses to this extended request.getValue()Returns the value, if any, associated with this extended request.booleanhasValue()Returnstrueif this extended request has a value.Methods inherited from interface org.forgerock.opendj.ldap.requests.Request
containsControl
-
Field Details
-
DECODER
A decoder which can be used to decode who am I extended operation requests. -
OID
The OID for the who am I extended operation request.- See Also:
-
-
Method Details
-
addControl
Description copied from interface:RequestAdds the provided control to this request.- Specified by:
addControlin interfaceExtendedRequest<WhoAmIExtendedResult>- Specified by:
addControlin interfaceRequest- Parameters:
control- The control to be added to this request.- Returns:
- This request.
-
getControl
<C extends Control> C getControl(ControlDecoder<C> decoder, DecodeOptions options) throws DecodeException Description copied from interface:RequestDecodes and returns the first control in this request having an OID corresponding to the provided control decoder.- Specified by:
getControlin interfaceExtendedRequest<WhoAmIExtendedResult>- Specified by:
getControlin interfaceRequest- Type Parameters:
C- The type of control to be decoded and returned.- Parameters:
decoder- The control decoder.options- The set of decode options which should be used when decoding the control.- Returns:
- The decoded control, or
nullif the control is not included with this request. - Throws:
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).
-
getControls
Description copied from interface:RequestReturns aListcontaining the controls included with this request. The returnedListmay be modified if permitted by this request.- Specified by:
getControlsin interfaceExtendedRequest<WhoAmIExtendedResult>- Specified by:
getControlsin interfaceRequest- Returns:
- A
Listcontaining the controls.
-
getOID
Description copied from interface:ExtendedRequestReturns the numeric OID associated with this extended request.- Specified by:
getOIDin interfaceExtendedRequest<WhoAmIExtendedResult>- Returns:
- The numeric OID associated with this extended request.
-
getResultDecoder
Description copied from interface:ExtendedRequestReturns a decoder which can be used to decoded responses to this extended request.- Specified by:
getResultDecoderin interfaceExtendedRequest<WhoAmIExtendedResult>- Returns:
- A decoder which can be used to decoded responses to this extended request.
-
getValue
Description copied from interface:ExtendedRequestReturns the value, if any, associated with this extended request. Its format is defined by the specification of this extended request.- Specified by:
getValuein interfaceExtendedRequest<WhoAmIExtendedResult>- Returns:
- The value associated with this extended request, or
nullif there is no value.
-
hasValue
boolean hasValue()Description copied from interface:ExtendedRequestReturnstrueif 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.- Specified by:
hasValuein interfaceExtendedRequest<WhoAmIExtendedResult>- Returns:
trueif this extended request has a value, orfalseif there is no value.
-