# TOtpAuthenticationModuleType (Complex Type)

### Namespace: http://midpoint.evolveum.com/xml/ns/public/common/common-3

Supertype: OtpAuthenticationModuleType
TOTP authentication module.

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
name | property string | [0,1] | Unique name of the authentication module.
identifier | property string | [1,1] | Unique module identifier.
description | property string | [0,1] | Free form description of the module (administrator comment).
focusType | property QName | [0,1] | Type of logged object that this authentication module applies to.
documentation | property string | [0,1] | Technical documentation for a particular object or construct.
credentialName | property string | [0,1] | Name of credential definition that should be used when validating password.
issuer | property string | [1,1] | The issuer parameter is a string value indicating the provider or service this account is associated with.
label | property ItemPathType | [0,1] | The parameter is a string value from focus item that is used to identify the account the TOTP token is associated with.
algorithm | property string | [0,1] | The algorithm used to generate the TOTP code.
secretLength | property int | [0,1] | The length of the secret key used to generate the TOTP code.
digits | property int | [0,1] | The number of digits to be used in the TOTP code.
window | property int | [0,1] | The number of time steps that are allowed for the TOTP code to be valid.
period | property int | [0,1] | The time step in seconds that a TOTP code is valid for.

- ### Items

  - #### name

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Unique name of the authentication module. This name is fact a short identifier. It is supposed to give some idea about nature of the module to system administrator. But it is not supposed to be used as a user-friendly label for the module. Module name must be unique.

    Deprecated, use identifier instead

  - #### identifier

    Flags: RAM,runtime

    Multiplicity: [1,1]

    Display order:

    Unique module identifier. Can be used to reference the module.

  - #### description

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Free form description of the module (administrator comment).

  - #### focusType

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Type of logged object that this authentication module applies to. E.g UserType, RoleType, OrgType, ...

  - #### documentation

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Technical documentation for a particular object or construct.

    The purpose of this element is to document system configuration and behavior. The documentation will not be presented to end users. In fact, it will probably not be presented at all in midPoint user interface. This documentation element is supposed to be a part of the technical documentation of midPoint deployment. The tools than generate deployment configuration will look for these elements and combine them to compiled documentation document.

    AsciiDoc formatting is assumed for this element. Any leading or trailing whitespace is skipped. Indentation equivalent to he indentation of the first non-blank line of text is also skipped.

  - #### credentialName

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Name of credential definition that should be used when validating password. This must point to a valid credential definition in the "credential" section of a security policy. If not specified then default password definition is used.

  - #### issuer

    Flags: RAM,runtime

    Multiplicity: [1,1]

    Display order:

    The issuer parameter is a string value indicating the provider or service this account is associated with.

  - #### label

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    The parameter is a string value from focus item that is used to identify the account the TOTP token is associated with. It is typically formatted as "issuer:account_name". Default value: name

  - #### algorithm

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    The algorithm used to generate the TOTP code. Supported algorithms are: sha1 (default), sha256, sha512.

  - #### secretLength

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    The length of the secret key used to generate the TOTP code. Default value is 20 bytes (160 bits) for SHA1, 32 bytes (256 bits) for SHA256 and 64 bytes (512 bits) for SHA512.

  - #### digits

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    The number of digits to be used in the TOTP code. Currently supported 6 (default) or 8 digits.

  - #### window

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    The number of time steps that are allowed for the TOTP code to be valid. This allows for some clock skew between the server and the client. Default value is 1, which means that the TOTP code is valid for the current time step, the previous time step and the next time step.

  - #### period

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    The time step in seconds that a TOTP code is valid for. Default value is 30 seconds.