53 lines
1.1 KiB
Perl
53 lines
1.1 KiB
Perl
#!/usr/bin/perl
|
|
#
|
|
# DW::Setting::Display::Manage2FA
|
|
#
|
|
# Settings for managing 2fa.
|
|
#
|
|
# Authors:
|
|
# Mark Smith <mark@dreamwidth.org>
|
|
#
|
|
# Copyright (c) 2019-2020 by Dreamwidth Studios, LLC.
|
|
#
|
|
# This program is free software; you may redistribute it and/or modify it under
|
|
# the same terms as Perl itself. For a copy of the license, please reference
|
|
# 'perldoc perlartistic' or 'perldoc perlgpl'.
|
|
#
|
|
|
|
package DW::Setting::Display::Manage2FA;
|
|
use base 'LJ::Setting';
|
|
|
|
use strict;
|
|
use v5.10;
|
|
use Log::Log4perl;
|
|
my $log = Log::Log4perl->get_logger(__PACKAGE__);
|
|
|
|
use DW::Auth::TOTP;
|
|
|
|
sub should_render {
|
|
my ( $class, $u ) = @_;
|
|
|
|
return $u && $u->is_personal && $u->is_in_beta('manage2fa') ? 1 : 0;
|
|
}
|
|
|
|
sub actionlink {
|
|
my ( $class, $u ) = @_;
|
|
|
|
return "<a href='$LJ::SITEROOT/manage2fa'>Manage</a>";
|
|
}
|
|
|
|
sub label {
|
|
my $class = shift;
|
|
|
|
return 'Two-Factor Authentication';
|
|
}
|
|
|
|
sub option {
|
|
my ( $class, $u, $errs, $args ) = @_;
|
|
|
|
return DW::Auth::TOTP->is_enabled($u)
|
|
? "enabled (<a href='$LJ::SITEROOT/manage2fa'>view recovery codes</a>)"
|
|
: "<em>disabled</em>";
|
|
}
|
|
|
|
1;
|