Methods
StartMechanism | (s: Mechanism, ay: Initial_Data) | → | nothing | |
Respond | (ay: Response_Data) | → | nothing | |
Accept | () | → | nothing | |
Abort | (u: Reason, s: Debug_Message) | → | nothing |
Signals
StateChanged | (u: Status, s: Reason, s: Debug_Message) | |
NewChallenge | (ay: Challenge_Data) |
Properties
AvailableMechanisms | as (SASL_Mechanism_List) | Read only | |
Secure | b | Read only | |
CurrentChallenge | ay | Read only | |
CurrentState | (uss) (SASL_State) | Read only |
Types
SASL_Mechanism | Simple Type | s | |
Abort_Reason | Enum | u | |
SASL_Status | Enum | u | |
SASL_State | Struct | (uss) |
Description
A channel interface for SASL authentication, as defined by RFC 4422.
In some protocols, such as XMPP, authentication with the server is carried out using SASL. In these protocols, a channel with this interface can provide a simple 1:1 mapping of the SASL negotiations taking place in the protocol.
In other protocols, the connection manager can require that a
user interface authenticate with it via SASL as a way to get the
user's credentials interactively. In particular, this can be used to
connect to protocols that may require a password, without
requiring that the password is saved in the
By providing SASL directly when the protocol supports it, we can
use mechanisms like Kerberos or Google's X-GOOGLE-TOKEN
without specific support in the connection manager.
Protocols where SASL is not used typically have a simple
username/password-based authentication mechanism. In these
protocols, we can use the same authentication client to query
the user's password (either interactively, or from a storage
mechanism like gnome-keyring
), by having the
connection manager implement the server side of a simple
SASL mechanism like PLAIN
.
Methods
StartMechanism (s: Mechanism, ay: Initial_Data) → nothing
Parameters
- Mechanism — s (SASL_Mechanism)
- Initial_Data — ay
Respond (ay: Response_Data) → nothing
Parameters
- Response_Data — ay
Accept () → nothing
Abort (u: Reason, s: Debug_Message) → nothing
Parameters
- Reason — u (Abort_Reason)
- Debug_Message — s
Signals
StateChanged (u: Status, s: Reason, s: Debug_Message)
Parameters
- Status — u (SASL_Status)
- Reason — s (DBus_Error_Name)
- Debug_Message — s
NewChallenge (ay: Challenge_Data)
Parameters
- Challenge_Data — ay
Properties
AvailableMechanisms — as (SASL_Mechanism_List)
[ "PLAIN",
"DIGEST-MD5", "SCRAM-SHA-1" ]
.
Secure — b
CurrentChallenge — ay
CurrentState — (uss) (SASL_State)
Types
SASL_Mechanism — s
A SASL mechanism, as defined by
RFC 4422
and registered in
the
IANA registry of SASL mechanisms, or an unregistered
SASL mechanism such as X-GOOGLE-TOKEN
used in the
same contexts.
Abort_Reason — u
- Invalid_Challenge (0)
- User_Abort (1)
SASL_Status — u
- Not_Started (0)
- In_Progress (1)
- Server_Succeeded (2)
- Client_Accepted (3)
- Succeeded (4)
- Server_Failed (5)
- Client_Failed (6)
SASL_State — (uss)
- Status — u (SASL_Status)
- Reason — s (DBus_Error_Name)
- Debug_Message — s