13d93f5b25
This adds persistence to the Nextcloud server 2FA logic so that the server knows which 2FA providers are enabled for a specific user at any time, even when the provider is not available. The `IStatefulProvider` interface was added as tagging interface for providers that are compatible with this new API. Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
37 lines
1.4 KiB
PHP
37 lines
1.4 KiB
PHP
<div class="warning">
|
|
<h2 class="two-factor-header"><?php p($l->t('Two-factor authentication')) ?></h2>
|
|
<p><?php p($l->t('Enhanced security is enabled for your account. Please authenticate using a second factor.')) ?></p>
|
|
<?php if ($_['providerMissing']): ?>
|
|
<p>
|
|
<strong><?php p($l->t('Could not load at least one of your enabled two-factor auth methods. Please contact your admin.')) ?></strong>
|
|
</p>
|
|
<?php endif; ?>
|
|
<p>
|
|
<ul>
|
|
<?php foreach ($_['providers'] as $provider): ?>
|
|
<li>
|
|
<a class="button two-factor-provider"
|
|
href="<?php p(\OC::$server->getURLGenerator()->linkToRoute('core.TwoFactorChallenge.showChallenge',
|
|
[
|
|
'challengeProviderId' => $provider->getId(),
|
|
'redirect_url' => $_['redirect_url'],
|
|
]
|
|
)) ?>">
|
|
<?php p($provider->getDescription()) ?>
|
|
</a>
|
|
</li>
|
|
<?php endforeach; ?>
|
|
</ul>
|
|
</p>
|
|
<p class="two-factor-link">
|
|
<a class="button" href="<?php print_unescaped($_['logout_url']); ?>"><?php p($l->t('Cancel log in')) ?></a>
|
|
<?php if (!is_null($_['backupProvider'])): ?>
|
|
<a class="button" href="<?php p(\OC::$server->getURLGenerator()->linkToRoute('core.TwoFactorChallenge.showChallenge',
|
|
[
|
|
'challengeProviderId' => $_['backupProvider']->getId(),
|
|
'redirect_url' => $_['redirect_url'],
|
|
]
|
|
)) ?>"><?php p($l->t('Use backup code')) ?></a>
|
|
<?php endif; ?>
|
|
</p>
|
|
</div>
|