- « User Password...
- User Authenti... »

# 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 Manual 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 Manual Installation on Linux)
- Example:

    <?php

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

- « User Password...
- User Authenti... »