class MethodRegistry (View source)

A service class that holds the configuration for enabled MFA methods and facilitates providing these methods

Traits

Provides extensions to this object to integrate it with standard config API methods.

A class that can be instantiated or replaced via DI

Config options

methods string[]

List of configured MFA methods. These should be class names that implement MethodInterface

default_backup_method string

A string referring to the classname of the method (implementing SilverStripe\MFA\Method\MethodInterface) that is to be used as the back-up method for MFA. This alters the registration of this method to be required - a forced registration once the user has registered at least one other method. Additionally it cannot be set as the default method for a user to log in with.

Properties

protected MethodInterface[] $methodInstances

Request cache of instantiated method instances

Methods

public static 
config()

Get a configuration accessor for this class. Short hand for Config::inst()->get($this->class, .....).

public
mixed
uninherited(string $name)

Gets the uninherited value for the given config option

public static 
create(mixed ...$args)

An implementation of the factory method, allows you to create an instance of a class

public static 
singleton(string $class = null)

Creates a class instance by the "singleton" design pattern.

public
array
getMethods()

Get implementations of all configured methods

public
bool
hasMethods()

Helper method to indicate whether any MFA methods are registered

public
bool
isBackupMethod(MethodInterface $method)

Indicates whether the given method is registered as the back-up method for MFA

public
MethodInterface|null
getBackupMethod()

Get the configured backup method

public
MethodInterface|null
getMethodByURLSegment(string $segment)

Fetches a Method by its URL Segment

Details

static Config_ForClass config()

Get a configuration accessor for this class. Short hand for Config::inst()->get($this->class, .....).

Return Value

Config_ForClass

mixed uninherited(string $name)

Gets the uninherited value for the given config option

Parameters

string $name

Return Value

mixed

static Injectable create(mixed ...$args)

An implementation of the factory method, allows you to create an instance of a class

This method will defer class substitution to the Injector API, which can be customised via the Config API to declare substitution classes.

This can be called in one of two ways - either calling via the class directly, or calling on Object and passing the class name as the first parameter. The following are equivalent: $list = DataList::create(SiteTree::class); $list = SiteTree::get();

Parameters

mixed ...$args

Return Value

Injectable

static Injectable singleton(string $class = null)

Creates a class instance by the "singleton" design pattern.

It will always return the same instance for this class, which can be used for performance reasons and as a simple way to access instance methods which don't rely on instance data (e.g. the custom SilverStripe static handling).

Parameters

string $class

Optional classname to create, if the called class should not be used

Return Value

Injectable

The singleton instance

array getMethods()

Get implementations of all configured methods

bool hasMethods()

Helper method to indicate whether any MFA methods are registered

Return Value

bool

bool isBackupMethod(MethodInterface $method)

Indicates whether the given method is registered as the back-up method for MFA

Parameters

MethodInterface $method

Return Value

bool

MethodInterface|null getBackupMethod()

Get the configured backup method

Return Value

MethodInterface|null

MethodInterface|null getMethodByURLSegment(string $segment)

Fetches a Method by its URL Segment

Parameters

string $segment

Return Value

MethodInterface|null