- Qt 5.15
- Qt Network
- C++ Classes
- QAuthenticator
- Qt 5.15.15 Reference Documentation

# QAuthenticator Class

The QAuthenticator class provides an authentication object. More...

Header: | #include <QAuthenticator>
qmake: | QT += network
Since: | Qt 4.3

This class was introduced in Qt 4.3.

- List of all members, including inherited members

Note: All functions in this class are reentrant.

## Public Functions

| QAuthenticator(const QAuthenticator &other)
| QAuthenticator()
QAuthenticator & | operator=(const QAuthenticator &other)
| ~QAuthenticator()
bool | isNull() const
QVariant | option(const QString &opt) const
QVariantHash | options() const
QString | password() const
QString | realm() const
void | setOption(const QString &opt, const QVariant &value)
void | setPassword(const QString &password)
void | setUser(const QString &user)
QString | user() const
bool | operator!=(const QAuthenticator &other) const
bool | operator==(const QAuthenticator &other) const

## Detailed Description

The QAuthenticator class is usually used in the authenticationRequired() and proxyAuthenticationRequired() signals of QNetworkAccessManager and QAbstractSocket. The class provides a way to pass back the required authentication information to the socket when accessing services that require authentication.

QAuthenticator supports the following authentication methods:

- Basic
- NTLM version 2
- Digest-MD5
- SPNEGO/Negotiate

### Options

In addition to the username and password required for authentication, a QAuthenticator object can also contain additional options. The options() function can be used to query incoming options sent by the server; the setOption() function can be used to set outgoing options, to be processed by the authenticator calculation. The options accepted and provided depend on the authentication type (see method()).

The following tables list known incoming options as well as accepted outgoing options. The list of incoming options is not exhaustive, since servers may include additional information at any time. The list of outgoing options is exhaustive, however, and no unknown options will be treated or sent back to the server.

#### Basic

Option | Direction | Type | Description
--- | --- | --- | ---
`realm` | Incoming | QString | Contains the realm of the authentication, the same as realm()

The Basic authentication mechanism supports no outgoing options.

#### NTLM version 2

The NTLM authentication mechanism currently supports no incoming or outgoing options. On Windows, if no user has been set, domain\user credentials will be searched for on the local system to enable Single-Sign-On functionality.

#### Digest-MD5

Option | Direction | Type | Description
--- | --- | --- | ---
`realm` | Incoming | QString | Contains the realm of the authentication, the same as realm()

The Digest-MD5 authentication mechanism supports no outgoing options.

#### SPNEGO/Negotiate

This authentication mechanism currently supports no incoming or outgoing options.

See also QSslSocket.

## Member Function Documentation

### QAuthenticator::QAuthenticator(const QAuthenticator &other)

Constructs a copy of other.

### QAuthenticator::QAuthenticator()

Constructs an empty authentication object.

### QAuthenticator &QAuthenticator::operator=(const QAuthenticator &other)

Assigns the contents of other to this authenticator.

### QAuthenticator::~QAuthenticator()

Destructs the object.

### bool QAuthenticator::isNull() const

Returns `true` if the object has not been initialized. Returns `false` if non-const member functions have been called, or the content was constructed or copied from another initialized QAuthenticator object.

### QVariant QAuthenticator::option(const QString &opt) const

Returns the value related to option opt if it was set by the server. See the Options section for more information on incoming options. If option opt isn't found, an invalid QVariant will be returned.

This function was introduced in Qt 4.7.

See also setOption(), options(), and QAuthenticator options.

### QVariantHash QAuthenticator::options() const

Returns all incoming options set in this QAuthenticator object by parsing the server reply. See the Options section for more information on incoming options.

This function was introduced in Qt 4.7.

See also option() and QAuthenticator options.

### QString QAuthenticator::password() const

Returns the password used for authentication.

See also setPassword().

### QString QAuthenticator::realm() const

Returns the realm requiring authentication.

### void QAuthenticator::setOption(const QString &opt, const QVariant &value)

Sets the outgoing option opt to value value. See the Options section for more information on outgoing options.

This function was introduced in Qt 4.7.

See also options(), option(), and QAuthenticator options.

### void QAuthenticator::setPassword(const QString &password)

Sets the password used for authentication.

See also password() and QNetworkAccessManager::authenticationRequired().

### void QAuthenticator::setUser(const QString &user)

Sets the user used for authentication.

See also user() and QNetworkAccessManager::authenticationRequired().

### QString QAuthenticator::user() const

Returns the user used for authentication.

See also setUser().

### bool QAuthenticator::operator!=(const QAuthenticator &other) const

Returns `true` if this authenticator is different from other; otherwise returns `false`.

### bool QAuthenticator::operator==(const QAuthenticator &other) const

Returns `true` if this authenticator is identical to other; otherwise returns `false`.