User authentication with IMAP, SMB, and FTP — Nextcloud 14 Administration Manual 14 documentation

- « Two factor authentication
- User authentication with LDAP »

# User authentication with IMAP, SMB, and FTP

You may configure additional user backends in Nextcloud’s configuration `config/config.php` using the following syntax:

    <?php

    "user_backends" => array (
        0 => array (
                "class"     => ...,
                "arguments" => array (
                                  0 => ...
                                  ),
        ),
    ),

Note

A non-blocking or correctly configured SELinux setup is needed for these backends to work. Please refer to the SELinux configuration.

Currently the “External user support” (user_external) app, which you need to enable first (See Installing and managing apps) provides the following user backends:

## IMAP

Provides authentication against IMAP servers

- Class: OC_User_IMAP
- Arguments: a mailbox string as defined in the PHP documentation
- Dependency: php-imap (See Installation on Linux)
- Example:

    <?php

    "user_backends" => array (
        0 => array (
                "class"     => "OC_User_IMAP",
                "arguments" => array (
                                  0 => '{imap.gmail.com:993/imap/ssl}'
                                  ),
        ),
    ),

## SMB

Provides authentication against Samba servers

- Class: OC_User_SMB
- Arguments: the samba server to authenticate against
- Dependency: PHP smbclient module or smbclient (see SMB/CIFS)
- Example:

    <?php

    "user_backends" => array (
        0 => array (
                "class"     => "OC_User_SMB",
                "arguments" => array (
                                  0 => 'localhost'
                                  ),
        ),
    ),

## FTP

Provides authentication against FTP servers

- Class: OC_User_FTP
- Arguments: the FTP server to authenticate against
- Dependency: php-ftp (See Installation on Linux)
- Example:

    <?php

    "user_backends" => array (
        0 => array (
                "class"     => "OC_User_FTP",
                "arguments" => array (
                                  0 => 'localhost'
                                  ),
        ),
    ),

- « Two factor authentication
- User authentication with LDAP »