Custom passwords
The TeamSpeak SDK has the optional ability to do custom password handling. This allows to check TeamSpeak server and channel passwords against outside datasources, like LDAP or other databases.
To implement custom passwords, both server and client need to add the callbacks, which will be spontaneously called whenever a password check is done in TeamSpeak. The SDK developer can implement own checks to validate the password instead of using the TeamSpeak built-in mechanism.
Password encryption
Both Server and Client Lib can implement the following callback to encrypt a user password. This function is called in the Client Lib when a channel password is set.
This can be used to hash the password in the same way it is hashed in the outside data store. Or just copy the password to send the clear text to the server.
-
struct ClientUIFunctions
Defines available callbacks that you can receive.
Set the members of this struct to a function to call when the specific event happens.
Public Members
-
void (*onClientPasswordEncrypt)(uint64 serverConnectionHandlerID, const char *plaintext, char *encryptedText, int encryptedTextByteSize)
called when a channel password is set.
Can be used to implement custom password checks against external sources (e.g. LDAP).
- Param serverConnectionHandlerID:
specifies on which connection the callback was called
- Param plaintext:
utf8 encoded c string containing the plaintext password as entered by the user
- Param encryptedText:
output parameter. Fill with the encrypted password / password hash. Must be an utf8 encoded c string (zero terminated). Must not be larger than the size specified by the encryptedTextByteSize parameter.
- Param encryptedTextByteSize:
the maximum amount of bytes (including trailing zero byte) that may be written to encryptedText parameter
-
void (*onClientPasswordEncrypt)(uint64 serverConnectionHandlerID, const char *plaintext, char *encryptedText, int encryptedTextByteSize)