authenticate
Description:
Emitted when the message requires authentication.
If credentials are available call [method@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 [
      method@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 [method@GObject.Object.ref] on auth and returning 
      true. The operation will complete once either [method@Auth.authenticate] or [method@Auth.cancel] are called.
    
Parameters:
| auth | the Auth to authenticate | 
| retrying | true if this is the second (or later) attempt | 
Returns:
| true to stop other handlers from being invoked or false to propagate the event further. |