Interface ExternalSASLBindRequest
- All Superinterfaces:
BindRequest,Request,SASLBindRequest
The External SASL bind request as defined in RFC 4422. This SASL mechanism
allows a client to request the server to use credentials established by means
external to the mechanism to authenticate the client. The external means may
be, for instance, SSL or TLS.
A client may either request that its authorization identity be automatically derived from its authentication credentials exchanged at a lower security layer, or it may explicitly provide a desired authorization identity.
The optional authorization identity is specified using an authorization ID,
or authzId, as defined in RFC 4513 section 5.2.1.8.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe name of the SASL mechanism based on external authentication.Fields inherited from interface org.forgerock.opendj.ldap.requests.BindRequest
AUTHENTICATION_TYPE_SASL, AUTHENTICATION_TYPE_SIMPLE -
Method Summary
Modifier and TypeMethodDescriptionaddControl(Control control) Adds the provided control to this request.createBindClient(String serverName) Creates a new bind client which can be used to perform the authentication process.byteReturns the authentication mechanism identifier for this SASL bind request as defined by the LDAP protocol, which is always0xA3.Returns the optional desired authorization ID of the user, ornullif the authorization ID should derived from authentication credentials exchanged at a lower security layer.<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.getName()Returns the name of the Directory object that the client wishes to bind as, which is always the empty string for SASL authentication.Returns the SASL mechanism for this SASL bind request.setAuthorizationID(String authorizationID) Sets the optional desired authorization ID of the user, ornullif the authorization ID should derived from authentication credentials exchanged at a lower security layer.Methods inherited from interface org.forgerock.opendj.ldap.requests.Request
containsControl
-
Field Details
-
SASL_MECHANISM_NAME
The name of the SASL mechanism based on external authentication.- See Also:
-
-
Method Details
-
addControl
Description copied from interface:RequestAdds the provided control to this request.- Specified by:
addControlin interfaceBindRequest- Specified by:
addControlin interfaceRequest- Specified by:
addControlin interfaceSASLBindRequest- Parameters:
control- The control to be added to this request.- Returns:
- This request.
-
createBindClient
Description copied from interface:BindRequestCreates a new bind client which can be used to perform the authentication process. This method is called by protocol implementations and is not intended for use by applications.- Specified by:
createBindClientin interfaceBindRequest- Specified by:
createBindClientin interfaceSASLBindRequest- Parameters:
serverName- The non-null fully-qualified host name of the server to authenticate to.- Returns:
- The new bind client.
- Throws:
LdapException- If an error occurred while creating the bind client context.
-
getAuthenticationType
byte getAuthenticationType()Returns the authentication mechanism identifier for this SASL bind request as defined by the LDAP protocol, which is always0xA3.- Specified by:
getAuthenticationTypein interfaceBindRequest- Specified by:
getAuthenticationTypein interfaceSASLBindRequest- Returns:
- The authentication mechanism identifier.
-
getAuthorizationID
Returns the optional desired authorization ID of the user, ornullif the authorization ID should derived from authentication credentials exchanged at a lower security layer. The authorization ID usually has the form "dn:" immediately followed by the distinguished name of the user, or "u:" followed by a user ID string, but other forms are permitted.- Returns:
- The desired authorization ID of the user, which may be
null.
-
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 interfaceBindRequest- Specified by:
getControlin interfaceRequest- Specified by:
getControlin interfaceSASLBindRequest- 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 interfaceBindRequest- Specified by:
getControlsin interfaceRequest- Specified by:
getControlsin interfaceSASLBindRequest- Returns:
- A
Listcontaining the controls.
-
getName
Returns the name of the Directory object that the client wishes to bind as, which is always the empty string for SASL authentication.- Specified by:
getNamein interfaceBindRequest- Specified by:
getNamein interfaceSASLBindRequest- Returns:
- The name of the Directory object that the client wishes to bind as.
-
getSASLMechanism
Description copied from interface:SASLBindRequestReturns the SASL mechanism for this SASL bind request.- Specified by:
getSASLMechanismin interfaceSASLBindRequest- Returns:
- The SASL mechanism for this bind request.
-
setAuthorizationID
Sets the optional desired authorization ID of the user, ornullif the authorization ID should derived from authentication credentials exchanged at a lower security layer. The authorization ID usually has the form "dn:" immediately followed by the distinguished name of the user, or "u:" followed by a user ID string, but other forms are permitted.- Parameters:
authorizationID- The desired authorization ID of the user, which may benull.- Returns:
- This bind request.
- Throws:
UnsupportedOperationException- If this external SASL request does not permit the authorization ID to be set.org.forgerock.i18n.LocalizedIllegalArgumentException- IfauthorizationIDwas non-empty and did not contain a valid authorization ID type.
-