added 2fa support for org duo

This commit is contained in:
Kyle Spearrin 2018-04-03 15:11:37 -04:00
parent b55ddc026f
commit c89b01c461
6 changed files with 18 additions and 3 deletions

2
jslib

@ -1 +1 @@
Subproject commit bdbb01317d6b41a9c0f74d47bf89e8ed11631fdc Subproject commit bea9e06506424ba07764f68eaaaa9161a12da767

View File

@ -35,6 +35,10 @@ export class TwoFactorOptionsComponent implements OnInit {
private platformUtilsService: PlatformUtilsService) { } private platformUtilsService: PlatformUtilsService) { }
ngOnInit() { ngOnInit() {
if (this.authService.twoFactorProviders.has(TwoFactorProviderType.OrganizationDuo)) {
this.providers.push(TwoFactorProviders[TwoFactorProviderType.OrganizationDuo]);
}
if (this.authService.twoFactorProviders.has(TwoFactorProviderType.Authenticator)) { if (this.authService.twoFactorProviders.has(TwoFactorProviderType.Authenticator)) {
this.providers.push(TwoFactorProviders[TwoFactorProviderType.Authenticator]); this.providers.push(TwoFactorProviders[TwoFactorProviderType.Authenticator]);
} }

View File

@ -34,7 +34,8 @@
</div> </div>
</div> </div>
</ng-container> </ng-container>
<ng-container *ngIf="selectedProviderType === providerType.Duo"> <ng-container *ngIf="selectedProviderType === providerType.Duo ||
selectedProviderType === providerType.OrganizationDuo">
<div id="duo-frame"><iframe id="duo_iframe"></iframe></div> <div id="duo-frame"><iframe id="duo_iframe"></iframe></div>
<div class="box last"> <div class="box last">
<div class="box-content"> <div class="box-content">
@ -55,7 +56,8 @@
</div> </div>
<div class="buttons"> <div class="buttons">
<button type="submit" class="btn primary block" [disabled]="form.loading" appBlurClick <button type="submit" class="btn primary block" [disabled]="form.loading" appBlurClick
*ngIf="selectedProviderType != null && selectedProviderType !== providerType.Duo"> *ngIf="selectedProviderType != null && selectedProviderType !== providerType.Duo &&
selectedProviderType !== providerType.OrganizationDuo">
<span [hidden]="form.loading"><i class="fa fa-sign-in"></i> {{'continue' | i18n}}</span> <span [hidden]="form.loading"><i class="fa fa-sign-in"></i> {{'continue' | i18n}}</span>
<i class="fa fa-spinner fa-spin" [hidden]="!form.loading"></i> <i class="fa fa-spinner fa-spin" [hidden]="!form.loading"></i>
</button> </button>

View File

@ -85,6 +85,7 @@ export class TwoFactorComponent implements OnInit {
// TODO: init u2f // TODO: init u2f
break; break;
case TwoFactorProviderType.Duo: case TwoFactorProviderType.Duo:
case TwoFactorProviderType.OrganizationDuo:
setTimeout(() => { setTimeout(() => {
(window as any).Duo.init({ (window as any).Duo.init({
host: params.Host, host: params.Host,

BIN
src/images/two-factor/6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -537,6 +537,10 @@
"message": "Verify with Duo Security using the Duo Mobile app, SMS, phone call, or U2F security key.", "message": "Verify with Duo Security using the Duo Mobile app, SMS, phone call, or U2F security key.",
"description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated."
}, },
"duoOrganizationDesc": {
"message": "Verify with Duo Security for your organization using the Duo Mobile app, SMS, phone call, or U2F security key.",
"description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated."
},
"u2fDesc": { "u2fDesc": {
"message": "Use any FIDO U2F enabled security key to access your account." "message": "Use any FIDO U2F enabled security key to access your account."
}, },
@ -1010,5 +1014,9 @@
}, },
"toggleOptions": { "toggleOptions": {
"message": "Toggle Options" "message": "Toggle Options"
},
"organization": {
"message": "Organization",
"description": "An entity of multiple related people (ex. a team or business organization)."
} }
} }