### Function

# Soup AuthDomainDigestAuthCallback

since: 3.0

#### Declaration

    char*
    (* SoupAuthDomainDigestAuthCallback) (
      SoupAuthDomain* domain,
      SoupServerMessage* msg,
      const char* username,
      gpointer user_data
    )

#### Description [src]

Callback used by `SoupAuthDomainDigest` for authentication purposes.

The application should look up `username` in its password database, and return the corresponding encoded password (see `soup_auth_domain_digest_encode_password()`.

Available since: 3.0

#### Parameters

`domain`

  Type: `SoupAuthDomainDigest`

  The domain.

  The data is owned by the caller of the function.

`msg`

  Type: `SoupServerMessage`

  The message being authenticated.

  The data is owned by the caller of the function.

`username`

  Type: `const char*`

  The username provided by the client.

  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

`user_data`

  Type: `gpointer`

  The data passed to `soup_auth_domain_digest_set_auth_callback()`

  The argument can be `NULL`.
  The data is owned by the caller of the function.

#### Return value

Type: `char*`

The encoded password, or `NULL` if `username` is not a valid user. `domain` will free the password when it is done with it.

The caller of the function takes ownership of the data, and is responsible for freeing it.
The return value can be `NULL`.
The value is a NUL terminated UTF-8 string.