### Signal

# Soup Message::authenticate

#### Declaration

    gboolean
    authenticate (
      SoupMessage* self,
      SoupAuth* auth,
      gboolean retrying,
      gpointer user_data
    )

#### Description [src]

Emitted when the message requires authentication.

If credentials are available call `soup_auth_authenticate()` on `auth`. If these credentials fail, the signal will be emitted again, with `retrying` set to `TRUE`, which will continue until you return without calling `soup_auth_authenticate()` on `auth`.

Note that this may be emitted before `msg`‘s body has been fully read.

You can authenticate `auth` asynchronously by calling `g_object_ref()` on `auth` and returning `TRUE`. The operation will complete once either `soup_auth_authenticate()` or `soup_auth_cancel()` are called.

Default handler: | The default handler is called after the handlers added via `g_signal_connect()`.

#### Parameters

`auth` | `SoupAuth`
| The `SoupAuth` to authenticate.
| The data is owned by the caller of the function.
`retrying` | `gboolean`
| `TRUE` if this is the second (or later) attempt.

#### Return value

Returns: | `gboolean`
| `TRUE` to stop other handlers from being invoked or `FALSE` to propagate the event further.