# keystoneauth1.identity.v3.multi_factor module

class keystoneauth1.identity.v3.multi_factor.MultiFactor(auth_url: str, auth_methods: list[str], *, unscoped: bool = False, trust_id: str | None = None, system_scope: str | None = None, domain_id: str | None = None, domain_name: str | None = None, project_id: str | None = None, project_name: str | None = None, project_domain_id: str | None = None, project_domain_name: str | None = None, reauthenticate: bool = True, include_catalog: bool = True, **kwargs: Any)

  Bases: `Auth`

  A plugin for authenticating with multiple auth methods.

  Parameters:

    - auth_url (string) – Identity service endpoint for authentication.

    - auth_methods (string) – names of the methods to authenticate with.

    - trust_id (string) – Trust ID for trust scoping.

    - system_scope (string) – System information to scope to.

    - domain_id (string) – Domain ID for domain scoping.

    - domain_name (string) – Domain name for domain scoping.

    - project_id (string) – Project ID for project scoping.

    - project_name (string) – Project name for project scoping.

    - project_domain_id (string) – Project’s domain ID for project.

    - project_domain_name (string) – Project’s domain name for project.

    - reauthenticate (bool) – Allow fetching a new token if the current one is going to expire. (optional) default True

  Also accepts various keyword args based on which methods are specified.

  __abstractmethods__ = frozenset({})
  __annotations_cache__ = {'MIN_TOKEN_LIFE_SECONDS': 'int', '_discovery_cache': 'dict[str, discover.Discover]', 'auth_ref': 'access.AccessInfo | None', 'auth_url': 'str', 'reauthenticate': 'bool'}
  __doc__ = "A plugin for authenticating with multiple auth methods.\n\n:param string auth_url: Identity service endpoint for authentication.\n:param string auth_methods: names of the methods to authenticate with.\n:param string trust_id: Trust ID for trust scoping.\n:param string system_scope: System information to scope to.\n:param string domain_id: Domain ID for domain scoping.\n:param string domain_name: Domain name for domain scoping.\n:param string project_id: Project ID for project scoping.\n:param string project_name: Project name for project scoping.\n:param string project_domain_id: Project's domain ID for project.\n:param string project_domain_name: Project's domain name for project.\n:param bool reauthenticate: Allow fetching a new token if the current one\n is going to expire. (optional) default True\n\nAlso accepts various keyword args based on which methods are specified.\n"
  __firstlineno__ = 23
  __init__(auth_url: str, auth_methods: list[str], *, unscoped: bool = False, trust_id: str | None = None, system_scope: str | None = None, domain_id: str | None = None, domain_name: str | None = None, project_id: str | None = None, project_name: str | None = None, project_domain_id: str | None = None, project_domain_name: str | None = None, reauthenticate: bool = True, include_catalog: bool = True, **kwargs: Any)
  __module__ = 'keystoneauth1.identity.v3.multi_factor'
  __static_attributes__ = ()
  _abc_impl = <_abc._abc_data object>
  _discovery_cache: dict[str, discover.Discover]
  auth_ref: access.AccessInfo | None
  auth_url: str
  reauthenticate: bool

this page last updated: 2026-03-25 21:01:07

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.

found an error? report a bug