user.collections.tan ==================== .. py:module:: user.collections.tan Attributes ---------- .. autoapisummary:: user.collections.tan.ALPHABET Classes ------- .. autoapisummary:: user.collections.tan._GeneratedTAN user.collections.tan.TANCollection Functions --------- .. autoapisummary:: user.collections.tan.generate_tan Module Contents --------------- .. py:class:: _GeneratedTAN Bases: :py:obj:`onegov.user.models.TAN` A single use TAN for temporarily elevating access or to serve as a second authentication factor through e.g. a mobile phone number. .. py:attribute:: tan :type: str .. py:data:: ALPHABET :value: 'ABCDEFGHIJKLMNPQRSTUVWXYZ123456789' .. py:function:: generate_tan() -> str .. py:class:: TANCollection(session: sqlalchemy.orm.Session, scope: str, expires_after: datetime.timedelta = DEFAULT_EXPIRES_AFTER) Bases: :py:obj:`onegov.core.collection.GenericCollection`\ [\ :py:obj:`onegov.user.models.TAN`\ ] Abstract base class for generic types. A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as:: class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc. This class can then be used as follows:: def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default .. py:attribute:: expires_after .. py:attribute:: scope .. py:property:: model_class :type: type[onegov.user.models.TAN] .. py:method:: query() -> sqlalchemy.orm.Query[onegov.user.models.TAN] .. py:method:: hash_tan(tan: str) -> str .. py:method:: add(*, client: str, created: datetime.datetime | None = None, **meta: Any) -> _GeneratedTAN .. py:method:: by_client(client: str) -> sqlalchemy.orm.Query[onegov.user.models.TAN] .. py:method:: by_tan(tan: str) -> onegov.user.models.TAN | None