com.unboundid.ldap.sdk.unboundidds.extensions
Class ValidateTOTPPasswordExtendedRequest

java.lang.Object
  extended by com.unboundid.ldap.sdk.LDAPRequest
      extended by com.unboundid.ldap.sdk.ExtendedRequest
          extended by com.unboundid.ldap.sdk.unboundidds.extensions.ValidateTOTPPasswordExtendedRequest
All Implemented Interfaces:
ProtocolOp, ReadOnlyLDAPRequest, java.io.Serializable

@NotMutable
@ThreadSafety(level=COMPLETELY_THREADSAFE)
public final class ValidateTOTPPasswordExtendedRequest
extends ExtendedRequest

NOTE: This class is part of the Commercial Edition of the UnboundID LDAP SDK for Java. It is not available for use in applications that include only the Standard Edition of the LDAP SDK, and is not supported for use in conjunction with non-UnboundID products.
This class provides an implementation of an extended request which may be used to validate a TOTP password for a user. Note that this should not be used as an alternative to authentication because it does not perform password policy processing. Rather, this extended operation should be used only to obtain additional assurance about the identity of a user that has already been authenticated through some other means.

The extended request has an OID of 1.3.6.1.4.1.30221.2.6.15 and a value with the following encoding:
   ValidateTOTPPasswordRequest ::= SEQUENCE {
        userDN           [0] LDAPDN,
        totpPassword     [1] OCTET STRING,
        ... }
 

See Also:
Serialized Form

Field Summary
static java.lang.String VALIDATE_TOTP_PASSWORD_REQUEST_OID
          The OID (1.3.6.1.4.1.30221.2.6.15) for the validate TOTP password extended request.
 
Fields inherited from class com.unboundid.ldap.sdk.ExtendedRequest
TYPE_EXTENDED_REQUEST_OID, TYPE_EXTENDED_REQUEST_VALUE
 
Constructor Summary
ValidateTOTPPasswordExtendedRequest(ExtendedRequest extendedRequest)
          Creates a new validate TOTP password extended request from the provided generic extended request.
ValidateTOTPPasswordExtendedRequest(java.lang.String userDN, java.lang.String totpPassword, Control... controls)
          Creates a new validate TOTP password extended request with the provided information.
 
Method Summary
 ValidateTOTPPasswordExtendedRequest duplicate()
          Creates a new instance of this LDAP request that may be modified without impacting this request.
 ValidateTOTPPasswordExtendedRequest duplicate(Control[] controls)
          Creates a new instance of this LDAP request that may be modified without impacting this request.
 java.lang.String getExtendedRequestName()
          Retrieves the user-friendly name for the extended request, if available.
 java.lang.String getTOTPPassword()
          Retrieves the TOTP password to validate.
 java.lang.String getUserDN()
          Retrieves the DN of the user for whom to validate the TOTP password.
 void toString(java.lang.StringBuilder buffer)
          Appends a string representation of this request to the provided buffer.
 
Methods inherited from class com.unboundid.ldap.sdk.ExtendedRequest
encodeProtocolOp, getLastMessageID, getOID, getOperationType, getProtocolOpType, getValue, hasValue, process, responseReceived, writeTo
 
Methods inherited from class com.unboundid.ldap.sdk.LDAPRequest
followReferrals, getControl, getControlList, getControls, getIntermediateResponseListener, getResponseTimeoutMillis, hasControl, hasControl, setFollowReferrals, setIntermediateResponseListener, setResponseTimeoutMillis, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

VALIDATE_TOTP_PASSWORD_REQUEST_OID

public static final java.lang.String VALIDATE_TOTP_PASSWORD_REQUEST_OID
The OID (1.3.6.1.4.1.30221.2.6.15) for the validate TOTP password extended request.

See Also:
Constant Field Values
Constructor Detail

ValidateTOTPPasswordExtendedRequest

public ValidateTOTPPasswordExtendedRequest(java.lang.String userDN,
                                           java.lang.String totpPassword,
                                           Control... controls)
Creates a new validate TOTP password extended request with the provided information.

Parameters:
userDN - The DN of the user for whom to validate the TOTP password.
totpPassword - The TOTP password to validate.
controls - The set of controls to include in the request.

ValidateTOTPPasswordExtendedRequest

public ValidateTOTPPasswordExtendedRequest(ExtendedRequest extendedRequest)
                                    throws LDAPException
Creates a new validate TOTP password extended request from the provided generic extended request.

Parameters:
extendedRequest - The generic extended request to parse as a validate TOTP extended request.
Throws:
LDAPException - If a problem is encountered while attempting to parse the provided extended request.
Method Detail

getUserDN

public java.lang.String getUserDN()
Retrieves the DN of the user for whom to validate the TOTP password.

Returns:
The DN of the user for whom to validate the TOTP password.

getTOTPPassword

public java.lang.String getTOTPPassword()
Retrieves the TOTP password to validate.

Returns:
The TOTP password to validate.

duplicate

public ValidateTOTPPasswordExtendedRequest duplicate()
Creates a new instance of this LDAP request that may be modified without impacting this request.. Subclasses should override this method to return a duplicate of the appropriate type.

Specified by:
duplicate in interface ReadOnlyLDAPRequest
Overrides:
duplicate in class ExtendedRequest
Returns:
A new instance of this LDAP request that may be modified without impacting this request.

duplicate

public ValidateTOTPPasswordExtendedRequest duplicate(Control[] controls)
Creates a new instance of this LDAP request that may be modified without impacting this request. The provided controls will be used for the new request instead of duplicating the controls from this request.. Subclasses should override this method to return a duplicate of the appropriate type.

Specified by:
duplicate in interface ReadOnlyLDAPRequest
Overrides:
duplicate in class ExtendedRequest
Parameters:
controls - The set of controls to include in the duplicate request.
Returns:
A new instance of this LDAP request that may be modified without impacting this request.

getExtendedRequestName

public java.lang.String getExtendedRequestName()
Retrieves the user-friendly name for the extended request, if available. If no user-friendly name has been defined, then the OID will be returned.

Overrides:
getExtendedRequestName in class ExtendedRequest
Returns:
The user-friendly name for this extended request, or the OID if no user-friendly name is available.

toString

public void toString(java.lang.StringBuilder buffer)
Appends a string representation of this request to the provided buffer.

Specified by:
toString in interface ProtocolOp
Specified by:
toString in interface ReadOnlyLDAPRequest
Overrides:
toString in class ExtendedRequest
Parameters:
buffer - The buffer to which to append a string representation of this request.