:tocdepth: 3 :py:mod:`email` =============== .. py:module:: email .. autoapi-nested-parse:: Multi-factor authenticator that sends TOTPs per email. The user is required to have an ``email`` attribute. User secret is dynamically generated each time new TOTP is created. **Source code:** :source:`email` Package Contents ---------------- .. py:class:: Config Bases: :py:obj:`gws.base.auth.mfa.Config` Email multi-factor authenticator configuration. .. py:attribute:: templates :type: Optional[list[gws.ext.config.template]] Email templates. .. py:class:: Object Bases: :py:obj:`gws.base.auth.mfa.Object` .. py:attribute:: templates :type: list[gws.Template] .. py:method:: configure() .. py:method:: generate_and_send(mfa: gws.AuthMultiFactorTransaction) .. py:method:: render_template(subject, args, mime=None) .. py:method:: start(user) .. py:method:: verify(mfa, payload)