Source code for pysasl.creds.client
from typing import Optional
from . import Credentials
__all__ = ['ClientCredentials']
[docs]class ClientCredentials(Credentials):
"""Credentials that are provided by the user and transmitted to the server
for authentication..
Args:
authcid: The authentication identity, e.g. a login username.
secret: The secret string, e.g. password.
authzid: The authorization identity, or an empty string.
"""
__slots__ = ['_authcid', '_secret', '_authzid']
def __init__(self, authcid: str, secret: str,
authzid: Optional[str] = None) -> None:
super().__init__()
self._authcid = authcid
self._secret = secret
self._authzid = authzid or ''
@property
def authcid(self) -> str:
return self._authcid
@property
def secret(self) -> str:
"""The secret string, e.g. password."""
return self._secret
@property
def authzid(self) -> str:
return self._authzid
def __repr__(self) -> str:
return f'ClientCredentials({self.authcid!r}, ..., {self.authzid!r})'