$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.236

Latest news

  • ProcessWire Weekly #555
    In the 555th issue of ProcessWire Weekly we're going to check out the latest core updates, introduce a new third party module that adds the ability to automatically convert email messages to pages, and more. Read on!
    Weekly.pw / 28 December 2024
  • Custom Fields Module
    This week we look at a new ProFields module named Custom Fields. This module provides a way to rapidly build out ProcessWire fields that contain any number of subfields/properties within them.
    Blog / 30 August 2024
  • Subscribe to weekly ProcessWire news

“We were really happy to build our new portfolio website on ProcessWire! We wanted something that gave us plenty of control on the back-end, without any bloat on the front end - just a nice, easy to access API for all our content that left us free to design and build however we liked.” —Castus, web design agency in Sheffield, UK