### Function

# Soup AuthDomainBasicAuthCallback

#### Declaration

    gboolean
    (* SoupAuthDomainBasicAuthCallback) (
      SoupAuthDomain* domain,
      SoupServerMessage* msg,
      const char* username,
      const char* password,
      gpointer user_data
    )

#### Description [src]

Callback used by `SoupAuthDomainBasic` for authentication purposes.

The application should verify that `username` and `password` and valid and return `TRUE` or `FALSE`.

If you are maintaining your own password database (rather than using the password to authenticate against some other system like PAM or a remote server), you should make sure you know what you are doing. In particular, don’t store cleartext passwords, or easily-computed hashes of cleartext passwords, even if you don’t care that much about the security of your server, because users will frequently use the same password for multiple sites, and so compromising any site with a cleartext (or easily-cracked) password database may give attackers access to other more-interesting sites as well.

#### Parameters

`domain`

  Type: `SoupAuthDomainBasic`

  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.

`password`

  Type: `const char*`

  The password 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_basic_set_auth_callback()`

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

#### Return value

Type: `gboolean`

`TRUE` if `username` and `password` are valid.