$user->hasTfa() method

Does user have two-factor authentication (Tfa) enabled? (and what type?)

  • Returns boolean false if not enabled.
  • Returns string with Tfa module name (string) if enabled.
  • When $getInstance argument is true, returns Tfa module instance rather than module name.

The benefit of using this method is that it can identify if Tfa is enabled without fully initializing a Tfa module that would attach hooks, etc. So when you only need to know if Tfa is enabled for a user, this method is more efficient than accessing $user->tfa_type.

When using $getInstance to return module instance, note that the module instance might not be initialized (hooks not added, etc.). To retrieve an initialized instance, you can get it from $user->tfa_type rather than calling this method.

Available since version 3.0.162.

Usage

// basic usage
$bool = $user->hasTfa();

// usage with all arguments
$bool = $user->hasTfa(bool $getInstance = false);

Arguments

NameType(s)Description
getInstance (optional)bool

Get Tfa module instance when available? (default=false)

Return value

bool string Tfa


$user methods and properties

API reference based on ProcessWire core version 3.0.200

Twitter updates

  • A review of weekly core updates, plus a simple recipe for a very effective listing cache—More
    24 June 2022
  • Weekly update: Making ProcessWire render pages at old WordPress URLs (or building a simple/custom URL router in PW): More
    17 June 2022
  • New post: ProcessWire now comes with just 1 site installation profile, the "blank" profile. It makes very few assumptions, making it a minimal though excellent starting point. Here’s how you might use it— More
    10 June 2022

Latest news

  • ProcessWire Weekly #424
    In the 424th issue of ProcessWire Weekly we'll check out the latest weekly update from Ryan, introduce a new third party module, and more. Read on!
    Weekly.pw / 25 June 2022
  • Starting a site with the “blank” profile
    ProcessWire 3.0.200+ comes with just 1 site installation profile, the site-blank profile. This profile makes very few assumptions, making it a minimal though excellent starting point. Here’s how you might use it. 
    Blog / 10 June 2022
  • Subscribe to weekly ProcessWire news

“We chose ProcessWire because of its excellent architecture, modular extensibility and the internal API. The CMS offers the necessary flexibility and performance for such a complex website like superbude.de. ProcessWire offers options that are only available for larger systems, such as Drupal, and allows a much slimmer development process.” —xport communication GmbH