Welcome Guest, Not a member yet? Register   Sign In
Shield - 2FA for only some users
#5

(This post was last modified: 03-07-2024, 01:41 PM by elimariaaaa.)

(10-04-2023, 10:03 AM)TexasTF Wrote: Hi,
Nevermind, I figured it out.
Thank you for your help @kenjis

Anyone who comes across this.
I added to my users table a column called email2fa
*Either 0 or 1*, 1 being they get 2fa.

Extended the Email2FA class

Override the createIdentify function as follows works:


Code:
public function createIdentity(User $user): string
    {
        if($user->email2fa != '1'){
            return '';
        }
        /** @var UserIdentityModel $identityModel */
        $identityModel = model(UserIdentityModel::class);

        // Delete any previous identities for action
        $identityModel->deleteIdentitiesByType($user, $this->type);

        $generator = static fn (): string => random_string('nozero', 6);

        return $identityModel->createCodeIdentity(
            $user,
            [
                'type'  => $this->type,
                'name'  => 'login',
                'extra' => lang('Auth.need2FA'),
            ],
            $generator
        );
    }

Sorry for this newbie question. How do I extend this class? Currently, I directly added the code snippet to the actual file.
Reply


Messages In This Thread
Shield - 2FA for only some users - by TexasTF - 10-03-2023, 08:48 AM
RE: Shield - 2FA for only some users - by kenjis - 10-03-2023, 02:04 PM
RE: Shield - 2FA for only some users - by TexasTF - 10-04-2023, 07:38 AM
RE: Shield - 2FA for only some users - by TexasTF - 10-04-2023, 10:03 AM
RE: Shield - 2FA for only some users - by elimariaaaa - 03-07-2024, 01:36 PM
RE: Shield - 2FA for only some users - by kenjis - 03-07-2024, 04:51 PM
RE: Shield - 2FA for only some users - by kenjis - 03-10-2024, 05:54 PM
RE: Shield - 2FA for only some users - by kenjis - 03-10-2024, 06:06 PM
RE: Shield - 2FA for only some users - by scottb - 04-29-2024, 08:33 AM



Theme © iAndrew 2016 - Forum software by © MyBB