# ArchetypeSelectionModuleType (Complex Type)

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

Supertype: AbstractCredentialAuthenticationModuleType
Module is used for the refining user search based on archetype selection. For example, for "lost my username" case the archetypes provide the information about the user who can recover the username and this archetype is later used for the search.

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.
archetypeSelection | container ArchetypeSelectionType | [0,1] | A set of archetypes which provides e.
allowUndefinedArchetype | property boolean | [0,1] | Enables the case when no archetype can be selected.

- ### 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.

  - #### archetypeSelection

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    A set of archetypes which provides e.g. rules to be applied during user authentication.

  - #### allowUndefinedArchetype

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Enables the case when no archetype can be selected. If set to true, the user can be authenticated e.g. by the rules from global security policy.