Class GetAuthorizationEntryResponseControl
- java.lang.Object
-
- com.unboundid.ldap.sdk.Control
-
- com.unboundid.ldap.sdk.unboundidds.controls.GetAuthorizationEntryResponseControl
-
- All Implemented Interfaces:
DecodeableControl
,java.io.Serializable
@NotMutable @ThreadSafety(level=COMPLETELY_THREADSAFE) public final class GetAuthorizationEntryResponseControl extends Control implements DecodeableControl
This class provides an implementation of an LDAP control that may be included in a bind response to provide information about the authenticated and/or authorized user.
NOTE: This class, and other classes within the
com.unboundid.ldap.sdk.unboundidds
package structure, are only supported for use against Ping Identity, UnboundID, and Nokia/Alcatel-Lucent 8661 server products. These classes provide support for proprietary functionality or for external specifications that are not considered stable or mature enough to be guaranteed to work in an interoperable way with other types of LDAP servers.
The value of this control will be encoded as follows:GetAuthorizationEntryResponse ::= SEQUENCE { isAuthenticated [0] BOOLEAN, identitiesMatch [1] BOOLEAN, authNEntry [2] AuthEntry OPTIONAL, authZEntry [3] AuthEntry OPTIONAL } AuthEntry ::= SEQUENCE { authID [0] AuthzId OPTIONAL, authDN [1] LDAPDN, attributes [2] PartialAttributeList }
See the documentation for theGetAuthorizationEntryRequestControl
class for more information and an example demonstrating the use of these controls.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
GET_AUTHORIZATION_ENTRY_RESPONSE_OID
The OID (1.3.6.1.4.1.30221.2.5.6) for the get authorization entry response control.
-
Constructor Summary
Constructors Constructor Description GetAuthorizationEntryResponseControl(boolean isAuthenticated, boolean identitiesMatch, java.lang.String authNID, ReadOnlyEntry authNEntry, java.lang.String authZID, ReadOnlyEntry authZEntry)
Creates a new get authorization entry response control with the provided information.GetAuthorizationEntryResponseControl(java.lang.String oid, boolean isCritical, ASN1OctetString value)
Creates a new get authorization entry response control with the provided information.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description GetAuthorizationEntryResponseControl
decodeControl(java.lang.String oid, boolean isCritical, ASN1OctetString value)
Creates a new instance of this decodeable control from the provided information.static GetAuthorizationEntryResponseControl
decodeJSONControl(JSONObject controlObject, boolean strict)
Attempts to decode the provided object as a JSON representation of a get authorization entry response control.static GetAuthorizationEntryResponseControl
get(BindResult result)
Extracts a get authorization entry response control from the provided result.ReadOnlyEntry
getAuthNEntry()
Retrieves the entry for the user specified as the authentication identity, if it is available.java.lang.String
getAuthNID()
Retrieves the identifier that may be used to reference the authentication identity in the directory server, if it is available.ReadOnlyEntry
getAuthZEntry()
Retrieves the entry for the user specified as the authorization identity, if it is available.java.lang.String
getAuthZID()
Retrieves the identifier that may be used to reference the authorization identity in the directory server, if it is available.java.lang.String
getControlName()
Retrieves the user-friendly name for this control, if available.boolean
identitiesMatch()
Indicates whether the authentication identity and the authorization identity reference the same user.boolean
isAuthenticated()
Indicates whether the client is authenticated.JSONObject
toJSONControl()
Retrieves a representation of this get authorization entry response control as a JSON object.void
toString(java.lang.StringBuilder buffer)
Appends a string representation of this LDAP control to the provided buffer.-
Methods inherited from class com.unboundid.ldap.sdk.Control
decode, decode, decodeControls, decodeJSONControl, deregisterDecodeableControl, encode, encodeControls, equals, getOID, getValue, hashCode, hasValue, isCritical, readFrom, registerDecodeableControl, registerDecodeableControl, toString, writeTo
-
-
-
-
Field Detail
-
GET_AUTHORIZATION_ENTRY_RESPONSE_OID
@NotNull public static final java.lang.String GET_AUTHORIZATION_ENTRY_RESPONSE_OID
The OID (1.3.6.1.4.1.30221.2.5.6) for the get authorization entry response control.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
GetAuthorizationEntryResponseControl
public GetAuthorizationEntryResponseControl(boolean isAuthenticated, boolean identitiesMatch, @Nullable java.lang.String authNID, @Nullable ReadOnlyEntry authNEntry, @Nullable java.lang.String authZID, @Nullable ReadOnlyEntry authZEntry)
Creates a new get authorization entry response control with the provided information.- Parameters:
isAuthenticated
- Indicates whether the client is authenticated.identitiesMatch
- Indicates whether the authentication identity is the same as the authorization identity.authNID
- The string that may be used to reference the authentication identity. It may benull
if information about the authentication identity is not to be included, or if the identifier should be derived from the DN.authNEntry
- The entry for the authentication identity. It may benull
if the information about the authentication identity is not to be included.authZID
- The string that may be used to reference the authorization identity. It may benull
if information about the authentication identity is not to be included, if the identifier should be derived from the DN, or if the authentication and authorization identities are the same.authZEntry
- The entry for the authentication identity. It may benull
if the information about the authentication identity is not to be included, or if the authentication and authorization identities are the same.
-
GetAuthorizationEntryResponseControl
public GetAuthorizationEntryResponseControl(@NotNull java.lang.String oid, boolean isCritical, @Nullable ASN1OctetString value) throws LDAPException
Creates a new get authorization entry response control with the provided information.- Parameters:
oid
- The OID for the control.isCritical
- Indicates whether the control should be marked critical.value
- The encoded value for the control. This may benull
if no value was provided.- Throws:
LDAPException
- If the provided control cannot be decoded as a get authorization entry response control.
-
-
Method Detail
-
decodeControl
@NotNull public GetAuthorizationEntryResponseControl decodeControl(@NotNull java.lang.String oid, boolean isCritical, @Nullable ASN1OctetString value) throws LDAPException
Creates a new instance of this decodeable control from the provided information.- Specified by:
decodeControl
in interfaceDecodeableControl
- Parameters:
oid
- The OID for the control.isCritical
- Indicates whether the control should be marked critical.value
- The encoded value for the control. This may benull
if no value was provided.- Returns:
- The decoded representation of this control.
- Throws:
LDAPException
- If the provided information cannot be decoded as a valid instance of this decodeable control.
-
get
@Nullable public static GetAuthorizationEntryResponseControl get(@NotNull BindResult result) throws LDAPException
Extracts a get authorization entry response control from the provided result.- Parameters:
result
- The result from which to retrieve the get authorization entry response control.- Returns:
- The get authorization entry response control contained in the
provided result, or
null
if the result did not contain a get authorization entry response control. - Throws:
LDAPException
- If a problem is encountered while attempting to decode the get authorization entry response control contained in the provided result.
-
isAuthenticated
public boolean isAuthenticated()
Indicates whether the client is authenticated.- Returns:
true
if the client is authenticated, orfalse
if not.
-
identitiesMatch
public boolean identitiesMatch()
Indicates whether the authentication identity and the authorization identity reference the same user.- Returns:
true
if both the authentication identity and the authorization identity reference the same user, orfalse
if not.
-
getAuthNID
@Nullable public java.lang.String getAuthNID()
Retrieves the identifier that may be used to reference the authentication identity in the directory server, if it is available.- Returns:
- The identifier that may be used to reference the authentication
identity in the directory server, or
null
if it is not available.
-
getAuthNEntry
@Nullable public ReadOnlyEntry getAuthNEntry()
Retrieves the entry for the user specified as the authentication identity, if it is available.- Returns:
- The entry for the user specified as the authentication identity,
or
null
if it is not available.
-
getAuthZID
@Nullable public java.lang.String getAuthZID()
Retrieves the identifier that may be used to reference the authorization identity in the directory server, if it is available.- Returns:
- The identifier that may be used to reference the authorization
identity in the directory server, or
null
if it is not available.
-
getAuthZEntry
@Nullable public ReadOnlyEntry getAuthZEntry()
Retrieves the entry for the user specified as the authorization identity, if it is available.- Returns:
- The entry for the user specified as the authorization identity,
or
null
if it is not available.
-
getControlName
@NotNull public java.lang.String getControlName()
Retrieves the user-friendly name for this control, if available. If no user-friendly name has been defined, then the OID will be returned.- Overrides:
getControlName
in classControl
- Returns:
- The user-friendly name for this control, or the OID if no user-friendly name is available.
-
toJSONControl
@NotNull public JSONObject toJSONControl()
Retrieves a representation of this get authorization entry response control as a JSON object. The JSON object uses the following fields:-
oid
-- A mandatory string field whose value is the object identifier for this control. For the get authorization entry response control, the OID is "1.3.6.1.4.1.30221.2.5.6". -
control-name
-- An optional string field whose value is a human-readable name for this control. This field is only intended for descriptive purposes, and when decoding a control, theoid
field should be used to identify the type of control. -
criticality
-- A mandatory Boolean field used to indicate whether this control is considered critical. -
value-base64
-- An optional string field whose value is a base64-encoded representation of the raw value for this get authorization entry response control. Exactly one of thevalue-base64
andvalue-json
fields must be present. -
value-json
-- An optional JSON object field whose value is a user-friendly representation of the value for this get authorization entry response control. Exactly one of thevalue-base64
andvalue-json
fields must be present, and if thevalue-json
field is used, then it will use the following fields:-
is-authenticated
-- A Boolean field that indicates whether the bind operation resulted in an authenticated or anonymous authentication state. -
identities-match
-- A Boolean field that indicates whether the resulting authentication identity matches the resulting authorization identity. -
authentication-id
-- An optional string field that holds the resulting authentication identity. -
authentication-entry
-- An optional JSON object field that contains the content of the entry for the resulting authentication identity for the operation. If present, the object will include a "_dn
" field whose value is the DN of the entry, and all other fields will have a name that is the name of an LDAP attribute in the entry and a value that is an array containing the string representations of the values for that attribute. -
authorization-id
-- An optional string field that holds the resulting authorization identity. -
authorization-entry
-- An optional JSON object field that contains the content of the entry for the resulting authorization identity for the operation. If present, the object will include a "_dn
" field whose value is the DN of the entry, and all other fields will have a name that is the name of an LDAP attribute in the entry and a value that is an array containing the string representations of the values for that attribute.
-
- Overrides:
toJSONControl
in classControl
- Returns:
- A JSON object that contains a representation of this control.
-
-
decodeJSONControl
@NotNull public static GetAuthorizationEntryResponseControl decodeJSONControl(@NotNull JSONObject controlObject, boolean strict) throws LDAPException
Attempts to decode the provided object as a JSON representation of a get authorization entry response control.- Parameters:
controlObject
- The JSON object to be decoded. It must not benull
.strict
- Indicates whether to use strict mode when decoding the provided JSON object. If this istrue
, then this method will throw an exception if the provided JSON object contains any unrecognized fields. If this isfalse
, then unrecognized fields will be ignored.- Returns:
- The get authorization entry response control that was decoded from the provided JSON object.
- Throws:
LDAPException
- If the provided JSON object cannot be parsed as a valid get authorization entry response control.
-
-