2021-10-21 23:30:25 +02:00
|
|
|
<div class="modal fade" role="dialog" aria-modal="true" aria-labelledby="2faAuthenticatorTitle">
|
2019-10-11 17:47:41 +02:00
|
|
|
<div class="modal-dialog" role="document">
|
2018-06-27 15:20:09 +02:00
|
|
|
<div class="modal-content">
|
|
|
|
<div class="modal-header">
|
2019-10-11 17:47:41 +02:00
|
|
|
<h2 class="modal-title" id="2faAuthenticatorTitle">
|
2018-06-27 15:20:09 +02:00
|
|
|
{{'twoStepLogin' | i18n}}
|
|
|
|
<small>{{'authenticatorAppTitle' | i18n}}</small>
|
|
|
|
</h2>
|
2019-10-11 17:22:21 +02:00
|
|
|
<button type="button" class="close" data-dismiss="modal" appA11yTitle="{{'close' | i18n}}">
|
2018-06-27 15:20:09 +02:00
|
|
|
<span aria-hidden="true">×</span>
|
|
|
|
</button>
|
|
|
|
</div>
|
2019-02-21 22:50:37 +01:00
|
|
|
<app-two-factor-verify [organizationId]="organizationId" [type]="type" (onAuthed)="auth($event)"
|
|
|
|
*ngIf="!authed">
|
2018-06-28 05:55:50 +02:00
|
|
|
</app-two-factor-verify>
|
2018-06-27 15:20:09 +02:00
|
|
|
<form #form (ngSubmit)="submit()" [appApiAction]="formPromise" ngNativeValidate *ngIf="authed">
|
|
|
|
<div class="modal-body">
|
|
|
|
<ng-container *ngIf="!enabled">
|
2021-10-08 00:47:32 +02:00
|
|
|
<img class="float-right mfaType0" alt="Authenticator app logo">
|
2018-06-27 15:20:09 +02:00
|
|
|
<p>{{'twoStepAuthenticatorDesc' | i18n}}</p>
|
|
|
|
<p>
|
|
|
|
<strong>1. {{'twoStepAuthenticatorDownloadApp' | i18n}}</strong>
|
|
|
|
</p>
|
|
|
|
</ng-container>
|
|
|
|
<ng-container *ngIf="enabled">
|
|
|
|
<app-callout type="success" title="{{'enabled' | i18n}}" icon="fa-check-circle">
|
|
|
|
<p>{{'twoStepLoginProviderEnabled' | i18n}}</p>
|
|
|
|
{{'twoStepAuthenticatorReaddDesc' | i18n}}
|
|
|
|
</app-callout>
|
2021-10-08 00:47:32 +02:00
|
|
|
<img class="float-right mfaType0" alt="Authenticator app logo">
|
2018-06-27 15:20:09 +02:00
|
|
|
<p>{{'twoStepAuthenticatorNeedApp' | i18n}}</p>
|
|
|
|
</ng-container>
|
|
|
|
<ul class="fa-ul">
|
|
|
|
<li>
|
|
|
|
<i class="fa-li fa fa-apple"></i>{{'iosDevices' | i18n}}:
|
2019-02-21 22:50:37 +01:00
|
|
|
<a href="https://itunes.apple.com/us/app/authy/id494168017?mt=8" target="_blank"
|
|
|
|
rel="noopener">Authy</a>
|
2018-06-27 15:20:09 +02:00
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<i class="fa-li fa fa-android"></i>{{'androidDevices' | i18n}}:
|
2019-02-21 22:50:37 +01:00
|
|
|
<a href="https://play.google.com/store/apps/details?id=com.authy.authy" target="_blank"
|
|
|
|
rel="noopener">Authy</a>
|
2018-06-27 15:20:09 +02:00
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<i class="fa-li fa fa-windows"></i>{{'windowsDevices' | i18n}}:
|
2019-02-21 22:50:37 +01:00
|
|
|
<a href="https://www.microsoft.com/p/authenticator/9wzdncrfj3rj" target="_blank"
|
|
|
|
rel="noopener">Microsoft Authenticator</a>
|
2018-06-27 15:20:09 +02:00
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
<p>{{'twoStepAuthenticatorAppsRecommended' | i18n}}</p>
|
|
|
|
<p *ngIf="!enabled">
|
|
|
|
<strong>2. {{'twoStepAuthenticatorScanCode' | i18n}}</strong>
|
|
|
|
</p>
|
|
|
|
<hr *ngIf="enabled">
|
|
|
|
<p class="text-center" [ngClass]="{'mb-0': enabled}">
|
2018-07-14 05:15:09 +02:00
|
|
|
<canvas id="qr"></canvas><br>
|
2019-10-11 16:35:24 +02:00
|
|
|
<code appA11yTitle="{{'key' | i18n}}">{{key}}</code>
|
2018-06-27 15:20:09 +02:00
|
|
|
</p>
|
|
|
|
<ng-container *ngIf="!enabled">
|
|
|
|
<label for="token">3. {{'twoStepAuthenticatorEnterCode' | i18n}}</label>
|
2019-02-21 22:50:37 +01:00
|
|
|
<input id="token" type="text" name="Token" class="form-control" [(ngModel)]="token" required
|
|
|
|
appInputVerbatim>
|
2018-06-27 15:20:09 +02:00
|
|
|
</ng-container>
|
|
|
|
</div>
|
|
|
|
<div class="modal-footer">
|
2018-07-18 05:15:15 +02:00
|
|
|
<button type="submit" class="btn btn-primary btn-submit" [disabled]="form.loading">
|
2019-10-11 16:35:24 +02:00
|
|
|
<i class="fa fa-spinner fa-spin" title="{{'loading' | i18n}}" aria-hidden="true"></i>
|
2018-06-27 23:50:31 +02:00
|
|
|
<span *ngIf="!enabled">{{'enable' | i18n}}</span>
|
2018-06-27 15:20:09 +02:00
|
|
|
<span *ngIf="enabled">{{'disable' | i18n}}</span>
|
|
|
|
</button>
|
2019-02-21 22:50:37 +01:00
|
|
|
<button type="button" class="btn btn-outline-secondary"
|
|
|
|
data-dismiss="modal">{{'close' | i18n}}</button>
|
2018-06-27 15:20:09 +02:00
|
|
|
</div>
|
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|