# DuoAuthenticationModuleType (Complex Type)

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

Supertype: AbstractAuthenticationModuleType
Module is used for 2FA authentication. Module use duo server for authentication via hardware key of mobile, tablet and so on. We cant use it as only one authentication module. We need some primary authentication module for example saml.

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.
clientId | property string | [1,1] | This value is the client id provided by Duo in the admin panel.
clientSecret | property ProtectedStringType | [1,1] | This value is the client secret provided by Duo in the admin panel.
apiHostname | property string | [1,1] | This value is the api host provided by Duo in the admin panel.
CACerts | property string | [0,-1] | List of CA Certificates to use.
pathForDuoUsername | property ItemPathType | [0,1] | The path to the user attribute which should be sent to duo server as username of authenticated user.

- ### Items

  - #### name

    Flags: RAM,runtime

    Multiplicity: [0,1]

    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]

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

  - #### description

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Free form description of the module (administrator comment).

  - #### focusType

    Flags: RAM,runtime

    Multiplicity: [0,1]

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

  - #### documentation

    Flags: RAM,runtime

    Multiplicity: [0,1]

    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.

  - #### clientId

    Flags: RAM,runtime

    Multiplicity: [1,1]

    This value is the client id provided by Duo in the admin panel.

  - #### clientSecret

    Flags: RAM,runtime

    Multiplicity: [1,1]

    This value is the client secret provided by Duo in the admin panel.

  - #### apiHostname

    Flags: RAM,runtime

    Multiplicity: [1,1]

    This value is the api host provided by Duo in the admin panel.

  - #### CACerts

    Flags: RAM,runtime

    Multiplicity: [0,-1]

    List of CA Certificates to use. You need add your cert when it misses in default certs. Default values: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Assured ID Root CA 'sha256/I/Lt/z7ekCWanjD0Cvj5EqXls2lOaThEA0H2Bg4BT/o=', C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Global Root CA 'sha256/r/mIkG3eEpVdm+u/ko/cwxzOMo1bk4TyHIlByibiA5E=', C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance EV Root CA 'sha256/WoiWRyIOVNa9ihaBciRSC7XHjliYS9VwUGOIud4PB18=', C=US, O=SecureTrust Corporation, CN=SecureTrust CA 'sha256/dykHF2FLJfEpZOvbOLX4PKrcD2w2sHd/iA/G3uHTOcw=', C=US, O=SecureTrust Corporation, CN=Secure Global CA 'sha256/JZaQTcTWma4gws703OR/KFk313RkrDcHRvUt6na6DCg=', C=US, O=Amazon, CN=Amazon Root CA 1 'sha256/++MBgDH5WGvL9Bcn5Be30cRcL0f5O+NyoXuWtQdX1aI=', C=US, O=Amazon, CN=Amazon Root CA 2 'sha256/f0KW/FtqTjs108NpYj42SrGvOB2PpxIVM8nWxjPqJGE=', C=US, O=Amazon, CN=Amazon Root CA 3 'sha256/NqvDJlas/GRcYbcWE8S/IceH9cq77kg0jVhZeAPXq8k=', C=US, O=Amazon, CN=Amazon Root CA 4 'sha256/9+ze1cZgR9KO1kZrVDxA4HQ6voHRCSVNz4RdTCx4U8U=', C=BM, O=QuoVadis Limited, CN=QuoVadis Root CA 2 'sha256/j9ESw8g3DxR9XM06fYZeuN1UB4O6xp/GAIjjdD/zM3g='

  - #### pathForDuoUsername

    Flags: RAM,runtime

    Multiplicity: [0,1]

    The path to the user attribute which should be sent to duo server as username of authenticated user. Default path is for name attribute.