@bnsights/bbsf-admin-portal 1.1.57 → 1.1.58
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/bnsights-bbsf-admin-portal-1.1.58.tgz +0 -0
- package/esm2022/lib/Pages/anonymouslayout/anonymouslayout-routing.module.mjs +3 -1
- package/esm2022/lib/Pages/anonymouslayout/anonymouslayout.module.mjs +4 -3
- package/esm2022/lib/Pages/anonymouslayout/verify-two-fa/verify-two-fa.component.mjs +103 -0
- package/esm2022/lib/Pages/shared/Services/AccountService.service.mjs +7 -1
- package/esm2022/lib/Pages/shared/models/AccountModels/twoFactorAuthenticationModel.mjs +3 -0
- package/fesm2022/bnsights-bbsf-admin-portal.mjs +104 -2
- package/fesm2022/bnsights-bbsf-admin-portal.mjs.map +1 -1
- package/lib/Pages/anonymouslayout/anonymouslayout.module.d.ts +10 -9
- package/lib/Pages/anonymouslayout/verify-two-fa/verify-two-fa.component.d.ts +37 -0
- package/lib/Pages/shared/Services/AccountService.service.d.ts +3 -0
- package/lib/Pages/shared/models/AccountModels/twoFactorAuthenticationModel.d.ts +4 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,6 +4,11 @@ BBSF Admin Portal package is part of BBSF 3 packages. It hosts all the angular m
|
|
|
4
4
|
|
|
5
5
|
For more info please visit [BBSF documentation](https://bnsightsprojects.visualstudio.com/BBSF%203/_wiki/wikis/BBSF-3.wiki/65/BBSF-Documentation)
|
|
6
6
|
|
|
7
|
+
**Update Controll version package**
|
|
8
|
+
## 1.1.58 / 25-2-2025
|
|
9
|
+
=====================
|
|
10
|
+
-Two Factor Authentication
|
|
11
|
+
|
|
7
12
|
# Change Log
|
|
8
13
|
|
|
9
14
|
## 1.1.57 / 16-2-2025
|
|
Binary file
|
|
@@ -9,6 +9,7 @@ import { UploadLicenseComponent } from './upload-license/upload-license.componen
|
|
|
9
9
|
import { TranslationResolverService } from '@bnsights/bbsf-utilities';
|
|
10
10
|
import { ErrorComponent } from './error/error.component';
|
|
11
11
|
import { ChangePasswordComponent } from './change-password/change-password.component';
|
|
12
|
+
import { VerifyTwoFAComponent } from './verify-two-fa/verify-two-fa.component';
|
|
12
13
|
import * as i0 from "@angular/core";
|
|
13
14
|
import * as i1 from "@angular/router";
|
|
14
15
|
const routes = [
|
|
@@ -21,6 +22,7 @@ const routes = [
|
|
|
21
22
|
{ path: "uploadLicense", component: UploadLicenseComponent },
|
|
22
23
|
{ path: "error/:key/:error", component: ErrorComponent },
|
|
23
24
|
{ path: "changePassword/:id", component: ChangePasswordComponent },
|
|
25
|
+
{ path: "verify2FA/:id", component: VerifyTwoFAComponent }
|
|
24
26
|
]
|
|
25
27
|
}
|
|
26
28
|
];
|
|
@@ -36,4 +38,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
|
|
|
36
38
|
exports: [RouterModule]
|
|
37
39
|
}]
|
|
38
40
|
}] });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5vbnltb3VzbGF5b3V0LXJvdXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1hZG1pbi1wb3J0YWwvc3JjL2xpYi9QYWdlcy9hbm9ueW1vdXNsYXlvdXQvYW5vbnltb3VzbGF5b3V0LXJvdXRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFVLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUM7OztBQUkvRSxNQUFNLE1BQU0sR0FBVztJQUNyQjtRQUNFLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLHdCQUF3QixFQUFFLE9BQU8sRUFBRSxDQUFDLDBCQUEwQixDQUFDLEVBQUUsUUFBUSxFQUFFO1lBQ3JHLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFO1lBQzVDLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRTtZQUM5RCxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7WUFDOUQsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFO1lBQzFELEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUU7WUFDNUQsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtZQUN4RCxFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUU7WUFDbEUsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRTtTQUMzRDtLQUNGO0NBRUYsQ0FBQztBQU1GLE1BQU0sT0FBTyw0QkFBNEI7OEdBQTVCLDRCQUE0QjsrR0FBNUIsNEJBQTRCLHdDQUY3QixZQUFZOytHQUVYLDRCQUE0QixZQUg3QixZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUM3QixZQUFZOzsyRkFFWCw0QkFBNEI7a0JBSnhDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDeEMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlcywgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgYW5vbnltb3VzbGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9hbm9ueW1vdXNsYXlvdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWN0aXZhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vYWN0aXZhdGlvbi9hY3RpdmF0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcmdvdFBhc3N3b3JkQ29tcG9uZW50IH0gZnJvbSAnLi9mb3Jnb3QtcGFzc3dvcmQvZm9yZ290LXBhc3N3b3JkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExvZ2luQ29tcG9uZW50IH0gZnJvbSAnLi9sb2dpbi9sb2dpbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZXN0UGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuL3Jlc3QtcGFzc3dvcmQvcmVzdC1wYXNzd29yZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVcGxvYWRMaWNlbnNlQ29tcG9uZW50IH0gZnJvbSAnLi91cGxvYWQtbGljZW5zZS91cGxvYWQtbGljZW5zZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvblJlc29sdmVyU2VydmljZSB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLXV0aWxpdGllcyc7XHJcbmltcG9ydCB7IEVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi9lcnJvci9lcnJvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGFuZ2VQYXNzd29yZENvbXBvbmVudCB9IGZyb20gJy4vY2hhbmdlLXBhc3N3b3JkL2NoYW5nZS1wYXNzd29yZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBWZXJpZnlUd29GQUNvbXBvbmVudCB9IGZyb20gJy4vdmVyaWZ5LXR3by1mYS92ZXJpZnktdHdvLWZhLmNvbXBvbmVudCc7XHJcblxyXG5cclxuXHJcbmNvbnN0IHJvdXRlczogUm91dGVzID0gW1xyXG4gIHtcclxuICAgIHBhdGg6IFwiYWNjb3VudFwiLCBjb21wb25lbnQ6IGFub255bW91c2xheW91dENvbXBvbmVudCwgcmVzb2x2ZTogW1RyYW5zbGF0aW9uUmVzb2x2ZXJTZXJ2aWNlXSwgY2hpbGRyZW46IFtcclxuICAgICAgeyBwYXRoOiBcImxvZ2luXCIsIGNvbXBvbmVudDogTG9naW5Db21wb25lbnQgfSxcclxuICAgICAgeyBwYXRoOiBcImZvcmdvdFBhc3N3b3JkXCIsIGNvbXBvbmVudDogRm9yZ290UGFzc3dvcmRDb21wb25lbnQgfSxcclxuICAgICAgeyBwYXRoOiBcInJlc3RQYXNzd29yZC86aWRcIiwgY29tcG9uZW50OiBSZXN0UGFzc3dvcmRDb21wb25lbnQgfSxcclxuICAgICAgeyBwYXRoOiBcImFjdGl2YXRpb24vOmlkXCIsIGNvbXBvbmVudDogQWN0aXZhdGlvbkNvbXBvbmVudCB9LFxyXG4gICAgICB7IHBhdGg6IFwidXBsb2FkTGljZW5zZVwiLCBjb21wb25lbnQ6IFVwbG9hZExpY2Vuc2VDb21wb25lbnQgfSxcclxuICAgICAgeyBwYXRoOiBcImVycm9yLzprZXkvOmVycm9yXCIsIGNvbXBvbmVudDogRXJyb3JDb21wb25lbnQgfSxcclxuICAgICAgeyBwYXRoOiBcImNoYW5nZVBhc3N3b3JkLzppZFwiLCBjb21wb25lbnQ6IENoYW5nZVBhc3N3b3JkQ29tcG9uZW50IH0sXHJcbiAgICAgIHsgcGF0aDogXCJ2ZXJpZnkyRkEvOmlkXCIsIGNvbXBvbmVudDogVmVyaWZ5VHdvRkFDb21wb25lbnQgfVxyXG4gICAgXVxyXG4gIH1cclxuXHJcbl07XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQocm91dGVzKV0sXHJcbiAgZXhwb3J0czogW1JvdXRlck1vZHVsZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFub255bW91c2xheW91dFJvdXRpbmdNb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -22,11 +22,12 @@ import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
|
|
|
22
22
|
import { HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
23
23
|
import { HttpErrorInterceptor } from '../shared/Services/HttpErrorInterceptor.service';
|
|
24
24
|
import { ChangePasswordComponent } from './change-password/change-password.component';
|
|
25
|
+
import { VerifyTwoFAComponent } from './verify-two-fa/verify-two-fa.component';
|
|
25
26
|
import * as i0 from "@angular/core";
|
|
26
27
|
import * as i1 from "ng-block-ui";
|
|
27
28
|
export class AnonymouslayoutModule {
|
|
28
29
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AnonymouslayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
29
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: AnonymouslayoutModule, declarations: [LoginComponent, anonymouslayoutComponent, ForgotPasswordComponent, RestPasswordComponent, ActivationComponent, UploadLicenseComponent, ErrorComponent, ChangePasswordComponent], imports: [CommonModule,
|
|
30
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: AnonymouslayoutModule, declarations: [LoginComponent, anonymouslayoutComponent, ForgotPasswordComponent, RestPasswordComponent, ActivationComponent, UploadLicenseComponent, ErrorComponent, ChangePasswordComponent, VerifyTwoFAComponent], imports: [CommonModule,
|
|
30
31
|
RouterModule,
|
|
31
32
|
AnonymouslayoutRoutingModule,
|
|
32
33
|
SharedModule,
|
|
@@ -66,7 +67,7 @@ export class AnonymouslayoutModule {
|
|
|
66
67
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AnonymouslayoutModule, decorators: [{
|
|
67
68
|
type: NgModule,
|
|
68
69
|
args: [{
|
|
69
|
-
declarations: [LoginComponent, anonymouslayoutComponent, ForgotPasswordComponent, RestPasswordComponent, ActivationComponent, UploadLicenseComponent, ErrorComponent, ChangePasswordComponent],
|
|
70
|
+
declarations: [LoginComponent, anonymouslayoutComponent, ForgotPasswordComponent, RestPasswordComponent, ActivationComponent, UploadLicenseComponent, ErrorComponent, ChangePasswordComponent, VerifyTwoFAComponent],
|
|
70
71
|
imports: [
|
|
71
72
|
CommonModule,
|
|
72
73
|
RouterModule,
|
|
@@ -100,4 +101,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
|
|
|
100
101
|
]
|
|
101
102
|
}]
|
|
102
103
|
}] });
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5vbnltb3VzbGF5b3V0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvUGFnZXMvYW5vbnltb3VzbGF5b3V0L2Fub255bW91c2xheW91dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaE4sT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDOUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDM0YsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDdkYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUM7OztBQXVDL0UsTUFBTSxPQUFPLHFCQUFxQjs4R0FBckIscUJBQXFCOytHQUFyQixxQkFBcUIsaUJBbkNmLGNBQWMsRUFBRSx3QkFBd0IsRUFBRSx1QkFBdUIsRUFBRSxxQkFBcUIsRUFBRSxtQkFBbUIsRUFBRSxzQkFBc0IsRUFBRSxjQUFjLEVBQUUsdUJBQXVCLEVBQUUsb0JBQW9CLGFBRW5OLFlBQVk7WUFDWixZQUFZO1lBQ1osNEJBQTRCO1lBQzVCLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGtCQUFrQjtZQUNsQixtQkFBbUI7K0dBMEJWLHFCQUFxQixhQXJCckI7WUFDVCxhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLG1CQUFtQjtZQUNuQixrQkFBa0I7WUFDbEIsV0FBVztZQUNYLGNBQWM7WUFDZCxTQUFTO1lBQ1Qsb0JBQW9CO1lBQ3BCLG1CQUFtQjtZQUNuQixRQUFRO1lBQ1IsWUFBWTtZQUNaLDhCQUE4QjtZQUM5QixzQkFBc0I7WUFDdEI7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLFlBL0JDLFlBQVk7WUFDWixZQUFZO1lBQ1osNEJBQTRCO1lBQzVCLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGtCQUFrQjtZQUNsQixtQkFBbUI7WUFDbkIsYUFBYSxDQUFDLE9BQU8sRUFBRTs7MkZBeUJkLHFCQUFxQjtrQkFwQ2pDLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsY0FBYyxFQUFFLHdCQUF3QixFQUFFLHVCQUF1QixFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLHNCQUFzQixFQUFFLGNBQWMsRUFBRSx1QkFBdUIsRUFBRSxvQkFBb0IsQ0FBQztvQkFDdE4sT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWiw0QkFBNEI7d0JBQzVCLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixhQUFhLENBQUMsT0FBTyxFQUFFO3FCQUd4QjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixXQUFXO3dCQUNYLGNBQWM7d0JBQ2QsU0FBUzt3QkFDVCxvQkFBb0I7d0JBQ3BCLG1CQUFtQjt3QkFDbkIsUUFBUTt3QkFDUixZQUFZO3dCQUNaLDhCQUE4Qjt3QkFDOUIsc0JBQXNCO3dCQUN0Qjs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixRQUFRLEVBQUUsb0JBQW9COzRCQUM5QixLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IExvZ2luQ29tcG9uZW50IH0gZnJvbSAnLi9sb2dpbi9sb2dpbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBhbm9ueW1vdXNsYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2Fub255bW91c2xheW91dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBBbm9ueW1vdXNsYXlvdXRSb3V0aW5nTW9kdWxlIH0gZnJvbSAnLi9hbm9ueW1vdXNsYXlvdXQtcm91dGluZy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTaGFyZWRNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2hhcmVkLm1vZHVsZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBcHBlYXJhbmNlQ29uZmlndXJhdGlvblNlcnZpY2UsIEF1dGhTZXJ2aWNlLCBCQlNGVHJhbnNsYXRlU2VydmljZSwgQkJTRlV0aWxpdGllc01vZHVsZSwgRW52aXJvbm1lbnRTZXJ2aWNlLCBNYXN0ZXJMYXlvdXRTZXJ2aWNlLCBTdHlsZXNCdW5kbGVTZXJ2aWNlLCBVdGlsaXR5U2VydmljZSB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLXV0aWxpdGllcyc7XHJcbmltcG9ydCB7IEZvcmdvdFBhc3N3b3JkQ29tcG9uZW50IH0gZnJvbSAnLi9mb3Jnb3QtcGFzc3dvcmQvZm9yZ290LXBhc3N3b3JkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJCU0ZDb250cm9sc01vZHVsZSB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLWNvbnRyb2xzJztcclxuaW1wb3J0IHsgUmVzdFBhc3N3b3JkQ29tcG9uZW50IH0gZnJvbSAnLi9yZXN0LXBhc3N3b3JkL3Jlc3QtcGFzc3dvcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWN0aXZhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vYWN0aXZhdGlvbi9hY3RpdmF0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVwbG9hZExpY2Vuc2VDb21wb25lbnQgfSBmcm9tICcuL3VwbG9hZC1saWNlbnNlL3VwbG9hZC1saWNlbnNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJsb2NrVUlNb2R1bGUgfSBmcm9tICduZy1ibG9jay11aSc7XHJcbmltcG9ydCB7IEF1dGhHdWFyZCB9IGZyb20gJy4uL2NvcmUvYXV0aGVudGljYXRpb24vYXV0aC5ndWFyZCc7XHJcbmltcG9ydCB7IEFub255bW91c0xheW91dFNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvU2VydmljZXMvQW5vbnltb3VzTGF5b3V0U2VydmljZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRXJyb3JDb21wb25lbnQgfSBmcm9tICcuL2Vycm9yL2Vycm9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExheW91dEluaXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX21ldHJvbmljL2NvcmUvc2VydmljZXMvbGF5b3V0LWluaXQuc2VydmljZSc7XHJcbmltcG9ydCB7IExheW91dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9fbWV0cm9uaWMvY29yZS9zZXJ2aWNlcy9sYXlvdXQuc2VydmljZSc7XHJcbmltcG9ydCB7IE5nYk1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBIVFRQX0lOVEVSQ0VQVE9SUyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSHR0cEVycm9ySW50ZXJjZXB0b3IgfSBmcm9tICcuLi9zaGFyZWQvU2VydmljZXMvSHR0cEVycm9ySW50ZXJjZXB0b3Iuc2VydmljZSc7XHJcbmltcG9ydCB7IENoYW5nZVBhc3N3b3JkQ29tcG9uZW50IH0gZnJvbSAnLi9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFZlcmlmeVR3b0ZBQ29tcG9uZW50IH0gZnJvbSAnLi92ZXJpZnktdHdvLWZhL3ZlcmlmeS10d28tZmEuY29tcG9uZW50JztcclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgZGVjbGFyYXRpb25zOiBbTG9naW5Db21wb25lbnQsIGFub255bW91c2xheW91dENvbXBvbmVudCwgRm9yZ290UGFzc3dvcmRDb21wb25lbnQsIFJlc3RQYXNzd29yZENvbXBvbmVudCwgQWN0aXZhdGlvbkNvbXBvbmVudCwgVXBsb2FkTGljZW5zZUNvbXBvbmVudCwgRXJyb3JDb21wb25lbnQsIENoYW5nZVBhc3N3b3JkQ29tcG9uZW50LCBWZXJpZnlUd29GQUNvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgQW5vbnltb3VzbGF5b3V0Um91dGluZ01vZHVsZSxcclxuICAgIFNoYXJlZE1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIEJCU0ZDb250cm9sc01vZHVsZSxcclxuICAgIEJCU0ZVdGlsaXRpZXNNb2R1bGUsXHJcbiAgICBCbG9ja1VJTW9kdWxlLmZvclJvb3QoKSxcclxuXHJcblxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBMYXlvdXRTZXJ2aWNlLFxyXG4gICAgTGF5b3V0SW5pdFNlcnZpY2UsXHJcbiAgICBTdHlsZXNCdW5kbGVTZXJ2aWNlLFxyXG4gICAgRW52aXJvbm1lbnRTZXJ2aWNlLFxyXG4gICAgQXV0aFNlcnZpY2UsXHJcbiAgICBVdGlsaXR5U2VydmljZSxcclxuICAgIEF1dGhHdWFyZCxcclxuICAgIEJCU0ZUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgTWFzdGVyTGF5b3V0U2VydmljZSxcclxuICAgIE5nYk1vZGFsLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgQXBwZWFyYW5jZUNvbmZpZ3VyYXRpb25TZXJ2aWNlLFxyXG4gICAgQW5vbnltb3VzTGF5b3V0U2VydmljZSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsXHJcbiAgICAgIHVzZUNsYXNzOiBIdHRwRXJyb3JJbnRlcmNlcHRvcixcclxuICAgICAgbXVsdGk6IHRydWVcclxuICAgIH0sXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5vbnltb3VzbGF5b3V0TW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { FormOptions, InputType, TextBoxOptions } from '@bnsights/bbsf-controls';
|
|
3
|
+
import { FormGroup } from '@angular/forms';
|
|
4
|
+
import { TwoFactorAuthenticationModel } from '../../shared/models/AccountModels/twoFactorAuthenticationModel';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/router";
|
|
7
|
+
import * as i2 from "../../shared/Services/AccountService.service";
|
|
8
|
+
import * as i3 from "@bnsights/bbsf-utilities";
|
|
9
|
+
import * as i4 from "@angular/common";
|
|
10
|
+
import * as i5 from "@bnsights/bbsf-controls";
|
|
11
|
+
import * as i6 from "ng-block-ui";
|
|
12
|
+
export class VerifyTwoFAComponent {
|
|
13
|
+
constructor(activatedRoute, accountService, utilityService, router, authService) {
|
|
14
|
+
this.activatedRoute = activatedRoute;
|
|
15
|
+
this.accountService = accountService;
|
|
16
|
+
this.utilityService = utilityService;
|
|
17
|
+
this.router = router;
|
|
18
|
+
this.authService = authService;
|
|
19
|
+
this.verify2FAForm = new FormGroup({});
|
|
20
|
+
this.verify2FAFormOptions = new FormOptions;
|
|
21
|
+
this.duration = 60;
|
|
22
|
+
this.timerOn = true;
|
|
23
|
+
this.timerCounter = 1;
|
|
24
|
+
this.getVerify2FAModel = () => {
|
|
25
|
+
let paramArray = [];
|
|
26
|
+
let ResultModel = this.verify2FAForm.value;
|
|
27
|
+
let model = new TwoFactorAuthenticationModel();
|
|
28
|
+
model.id = this.userID;
|
|
29
|
+
model.code = ResultModel.otpCode;
|
|
30
|
+
paramArray.push(model);
|
|
31
|
+
return paramArray;
|
|
32
|
+
};
|
|
33
|
+
this.getVerify2FAFunction = (model) => {
|
|
34
|
+
return this.accountService.verify2FA(model);
|
|
35
|
+
};
|
|
36
|
+
this.onSuccessHandler = async (result) => {
|
|
37
|
+
await this.authService.handleAccessToken(result.val);
|
|
38
|
+
this.router.navigate([this.authService.getUrl()]);
|
|
39
|
+
};
|
|
40
|
+
this.activatedRoute.params.subscribe(params => {
|
|
41
|
+
this.userID = params['id'];
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
ngOnInit() {
|
|
45
|
+
this.startTimer(this.duration);
|
|
46
|
+
this.verify2FAForm = new FormGroup({});
|
|
47
|
+
this.verify2FAFormOptions = new FormOptions();
|
|
48
|
+
this.verify2FAFormOptions.formGroup = this.verify2FAForm;
|
|
49
|
+
this.verify2FAFormOptions.getModelFunction = this.getVerify2FAModel;
|
|
50
|
+
this.verify2FAFormOptions.serviceSubmitFunction = this.getVerify2FAFunction;
|
|
51
|
+
this.verify2FAFormOptions.onSuccessHandler = this.onSuccessHandler;
|
|
52
|
+
this.otpCode = new TextBoxOptions();
|
|
53
|
+
this.otpCode.name = "otpCode";
|
|
54
|
+
this.otpCode.labelKey = "OtpCode";
|
|
55
|
+
this.otpCode.type = InputType.Text;
|
|
56
|
+
this.otpCode.isRequired = true;
|
|
57
|
+
this.otpCode.maxLength = 6;
|
|
58
|
+
}
|
|
59
|
+
ngOnDestroy() {
|
|
60
|
+
if (this.interval) {
|
|
61
|
+
clearInterval(this.interval);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
resendOTP() {
|
|
65
|
+
this.accountService.resendOTP(this.userID).subscribe((result) => {
|
|
66
|
+
this.timerCounter++;
|
|
67
|
+
this.duration = this.duration * this.timerCounter;
|
|
68
|
+
this.timerOn = true;
|
|
69
|
+
this.startTimer(this.duration);
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
get minutes() {
|
|
73
|
+
const m = Math.floor(this.timeLeft / 60);
|
|
74
|
+
return m < 10 ? '0' + m : m.toString();
|
|
75
|
+
}
|
|
76
|
+
get seconds() {
|
|
77
|
+
const s = this.timeLeft % 60;
|
|
78
|
+
return s < 10 ? '0' + s : s.toString();
|
|
79
|
+
}
|
|
80
|
+
startTimer(duration) {
|
|
81
|
+
this.timeLeft = duration * this.timerCounter;
|
|
82
|
+
this.interval = setInterval(() => {
|
|
83
|
+
if (this.timeLeft > 0 && this.timerOn) {
|
|
84
|
+
this.timeLeft--;
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
this.clearTimer();
|
|
88
|
+
}
|
|
89
|
+
}, 1000);
|
|
90
|
+
}
|
|
91
|
+
clearTimer() {
|
|
92
|
+
if (this.interval) {
|
|
93
|
+
clearInterval(this.interval);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: VerifyTwoFAComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.AccountService }, { token: i3.UtilityService }, { token: i1.Router }, { token: i3.AuthService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
97
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: VerifyTwoFAComponent, selector: "lib-verify-two-fa", ngImport: i0, template: "<block-ui></block-ui>\r\n<div class=\"form w-100\" novalidate=\"novalidate\" id=\"kt_sign_in_form\">\r\n <div class=\"text-center mb-10\">\r\n <h1 class=\"text-dark mb-3\"> {{utilityService.getResourceValue(\"Verify2FA\")}}</h1>\r\n </div>\r\n <BBSF-Form [options]=\"verify2FAFormOptions\">\r\n <div class=\"fv-row mb-10\">\r\n <BBSF-TextBox [options]=\"otpCode\" [group]=\"verify2FAForm\"></BBSF-TextBox>\r\n </div>\r\n <div>\r\n <div>\r\n <div *ngIf=\"timeLeft > 0\" style=\"text-align: center; padding-bottom: 5px;\" >\r\n <span id=\"timer\">{{ minutes }}:{{ seconds }}</span>\r\n </div>\r\n <a id=\"resendOTPBtn\" (click)=\"resendOTP()\" class=\"btn btn-link btn-sm fs-6 fw-bolder mt-2\" [class.disabled]=\"timeLeft > 0\">{{utilityService.getResourceValue(\"ResendOTP\")}}</a>\r\n </div>\r\n </div>\r\n <div class=\"text-center\">\r\n <!--begin::Submit button-->\r\n <button type=\"submit\"\r\n class=\"btn btn-primary btn-sm\">\r\n {{utilityService.getResourceValue(\"Submit\")}}\r\n </button>\r\n </div>\r\n </BBSF-Form>\r\n</div>\r\n<!--end::Form-->\r\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.TextboxComponent, selector: "BBSF-TextBox", inputs: ["group", "options"], outputs: ["onChange", "onBlur"] }, { kind: "component", type: i5.FormComponent, selector: "BBSF-Form", inputs: ["options"], outputs: ["onChange"] }, { kind: "component", type: i6.BlockUIComponent, selector: "block-ui", inputs: ["name", "message", "delayStart", "delayStop", "template"] }] }); }
|
|
98
|
+
}
|
|
99
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: VerifyTwoFAComponent, decorators: [{
|
|
100
|
+
type: Component,
|
|
101
|
+
args: [{ selector: 'lib-verify-two-fa', template: "<block-ui></block-ui>\r\n<div class=\"form w-100\" novalidate=\"novalidate\" id=\"kt_sign_in_form\">\r\n <div class=\"text-center mb-10\">\r\n <h1 class=\"text-dark mb-3\"> {{utilityService.getResourceValue(\"Verify2FA\")}}</h1>\r\n </div>\r\n <BBSF-Form [options]=\"verify2FAFormOptions\">\r\n <div class=\"fv-row mb-10\">\r\n <BBSF-TextBox [options]=\"otpCode\" [group]=\"verify2FAForm\"></BBSF-TextBox>\r\n </div>\r\n <div>\r\n <div>\r\n <div *ngIf=\"timeLeft > 0\" style=\"text-align: center; padding-bottom: 5px;\" >\r\n <span id=\"timer\">{{ minutes }}:{{ seconds }}</span>\r\n </div>\r\n <a id=\"resendOTPBtn\" (click)=\"resendOTP()\" class=\"btn btn-link btn-sm fs-6 fw-bolder mt-2\" [class.disabled]=\"timeLeft > 0\">{{utilityService.getResourceValue(\"ResendOTP\")}}</a>\r\n </div>\r\n </div>\r\n <div class=\"text-center\">\r\n <!--begin::Submit button-->\r\n <button type=\"submit\"\r\n class=\"btn btn-primary btn-sm\">\r\n {{utilityService.getResourceValue(\"Submit\")}}\r\n </button>\r\n </div>\r\n </BBSF-Form>\r\n</div>\r\n<!--end::Form-->\r\n" }]
|
|
102
|
+
}], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i2.AccountService }, { type: i3.UtilityService }, { type: i1.Router }, { type: i3.AuthService }] });
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZ5LXR3by1mYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL2Fub255bW91c2xheW91dC92ZXJpZnktdHdvLWZhL3ZlcmlmeS10d28tZmEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1hZG1pbi1wb3J0YWwvc3JjL2xpYi9QYWdlcy9hbm9ueW1vdXNsYXlvdXQvdmVyaWZ5LXR3by1mYS92ZXJpZnktdHdvLWZhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDOzs7Ozs7OztBQU85RyxNQUFNLE9BQU8sb0JBQW9CO0lBVS9CLFlBRVUsY0FBOEIsRUFDOUIsY0FBOEIsRUFDL0IsY0FBOEIsRUFDN0IsTUFBYyxFQUNkLFdBQXdCO1FBSnhCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDL0IsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzdCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQWRsQyxrQkFBYSxHQUFHLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xDLHlCQUFvQixHQUFHLElBQUksV0FBVyxDQUFDO1FBRXZDLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFHdEIsWUFBTyxHQUFZLElBQUksQ0FBQztRQUN4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Qzs4R0E5RlUsb0JBQW9CO2tHQUFwQixvQkFBb0IseURDYmpDLHVxQ0EyQkE7OzJGRGRhLG9CQUFvQjtrQkFKaEMsU0FBUzsrQkFDRSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQWNjb3VudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvU2VydmljZXMvQWNjb3VudFNlcnZpY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBVdGlsaXR5U2VydmljZSB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLXV0aWxpdGllcyc7XHJcbmltcG9ydCB7IEZvcm1PcHRpb25zLCBJbnB1dFR5cGUsIFRleHRCb3hPcHRpb25zIH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtY29udHJvbHMnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFR3b0ZhY3RvckF1dGhlbnRpY2F0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi9zaGFyZWQvbW9kZWxzL0FjY291bnRNb2RlbHMvdHdvRmFjdG9yQXV0aGVudGljYXRpb25Nb2RlbCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXZlcmlmeS10d28tZmEnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi92ZXJpZnktdHdvLWZhLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVmVyaWZ5VHdvRkFDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHVzZXJJRDpzdHJpbmc7XHJcbiAgdmVyaWZ5MkZBRm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIHZlcmlmeTJGQUZvcm1PcHRpb25zID0gbmV3IEZvcm1PcHRpb25zO1xyXG4gIG90cENvZGU6IFRleHRCb3hPcHRpb25zO1xyXG4gIGR1cmF0aW9uOiBudW1iZXIgPSA2MDtcclxuICB0aW1lTGVmdDogbnVtYmVyO1xyXG4gIGludGVydmFsOiBhbnk7XHJcbiAgdGltZXJPbjogYm9vbGVhbiA9IHRydWU7XHJcbiAgdGltZXJDb3VudGVyOm51bWJlcj0xO1xyXG4gIGNvbnN0cnVjdG9yXHJcbiAgKFxyXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIGFjY291bnRTZXJ2aWNlOiBBY2NvdW50U2VydmljZSxcclxuICAgIHB1YmxpYyB1dGlsaXR5U2VydmljZTogVXRpbGl0eVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuYWN0aXZhdGVkUm91dGUucGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xyXG4gICAgICB0aGlzLnVzZXJJRCA9IHBhcmFtc1snaWQnXTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RhcnRUaW1lcih0aGlzLmR1cmF0aW9uKTtcclxuXHJcbiAgICB0aGlzLnZlcmlmeTJGQUZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuXHJcbiAgICB0aGlzLnZlcmlmeTJGQUZvcm1PcHRpb25zID0gbmV3IEZvcm1PcHRpb25zKCk7XHJcbiAgICB0aGlzLnZlcmlmeTJGQUZvcm1PcHRpb25zLmZvcm1Hcm91cCA9IHRoaXMudmVyaWZ5MkZBRm9ybVxyXG4gICAgdGhpcy52ZXJpZnkyRkFGb3JtT3B0aW9ucy5nZXRNb2RlbEZ1bmN0aW9uID0gdGhpcy5nZXRWZXJpZnkyRkFNb2RlbDtcclxuICAgIHRoaXMudmVyaWZ5MkZBRm9ybU9wdGlvbnMuc2VydmljZVN1Ym1pdEZ1bmN0aW9uID0gdGhpcy5nZXRWZXJpZnkyRkFGdW5jdGlvbjtcclxuICAgIHRoaXMudmVyaWZ5MkZBRm9ybU9wdGlvbnMub25TdWNjZXNzSGFuZGxlciA9IHRoaXMub25TdWNjZXNzSGFuZGxlcjtcclxuXHJcbiAgICB0aGlzLm90cENvZGUgPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgIHRoaXMub3RwQ29kZS5uYW1lID0gXCJvdHBDb2RlXCI7XHJcbiAgICB0aGlzLm90cENvZGUubGFiZWxLZXkgPSBcIk90cENvZGVcIjtcclxuICAgIHRoaXMub3RwQ29kZS50eXBlID0gSW5wdXRUeXBlLlRleHQ7XHJcbiAgICB0aGlzLm90cENvZGUuaXNSZXF1aXJlZCA9IHRydWU7XHJcbiAgICB0aGlzLm90cENvZGUubWF4TGVuZ3RoPTY7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaW50ZXJ2YWwpIHtcclxuICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsKTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0VmVyaWZ5MkZBTW9kZWwgPSAoKSA9PiB7XHJcbiAgICBsZXQgcGFyYW1BcnJheTogYW55W10gPSBbXTtcclxuICAgIGxldCBSZXN1bHRNb2RlbCA9IHRoaXMudmVyaWZ5MkZBRm9ybS52YWx1ZSBhcyBhbnk7XHJcbiAgICBsZXQgbW9kZWw6IFR3b0ZhY3RvckF1dGhlbnRpY2F0aW9uTW9kZWwgPSBuZXcgVHdvRmFjdG9yQXV0aGVudGljYXRpb25Nb2RlbCgpO1xyXG4gICAgbW9kZWwuaWQgPSB0aGlzLnVzZXJJRFxyXG4gICAgbW9kZWwuY29kZSA9IFJlc3VsdE1vZGVsLm90cENvZGVcclxuICAgIHBhcmFtQXJyYXkucHVzaChtb2RlbCk7XHJcbiAgICByZXR1cm4gcGFyYW1BcnJheTtcclxuICB9XHJcblxyXG4gIGdldFZlcmlmeTJGQUZ1bmN0aW9uID0gKG1vZGVsKTogT2JzZXJ2YWJsZTxhbnk+ID0+IHtcclxuICAgIHJldHVybiB0aGlzLmFjY291bnRTZXJ2aWNlLnZlcmlmeTJGQShtb2RlbClcclxuICB9XHJcbiAgb25TdWNjZXNzSGFuZGxlciA9IGFzeW5jIChyZXN1bHQpID0+IHtcclxuICAgIGF3YWl0IHRoaXMuYXV0aFNlcnZpY2UuaGFuZGxlQWNjZXNzVG9rZW4ocmVzdWx0LnZhbCk7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5hdXRoU2VydmljZS5nZXRVcmwoKV0pO1xyXG4gIH1cclxuICByZXNlbmRPVFAoKXtcclxuICAgIHRoaXMuYWNjb3VudFNlcnZpY2UucmVzZW5kT1RQKHRoaXMudXNlcklEKS5zdWJzY3JpYmUoKHJlc3VsdCk9PntcclxuICAgICAgdGhpcy50aW1lckNvdW50ZXIrKztcclxuICAgIHRoaXMuZHVyYXRpb249dGhpcy5kdXJhdGlvbip0aGlzLnRpbWVyQ291bnRlclxyXG4gICAgICB0aGlzLnRpbWVyT24gPSB0cnVlO1xyXG4gICAgICB0aGlzLnN0YXJ0VGltZXIodGhpcy5kdXJhdGlvbik7XHJcbiAgICB9KVxyXG4gIH1cclxuICBnZXQgbWludXRlcygpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgbSA9IE1hdGguZmxvb3IodGhpcy50aW1lTGVmdCAvIDYwKTtcclxuICAgIHJldHVybiBtIDwgMTAgPyAnMCcgKyBtIDogbS50b1N0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNlY29uZHMoKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHMgPSB0aGlzLnRpbWVMZWZ0ICUgNjA7XHJcbiAgICByZXR1cm4gcyA8IDEwID8gJzAnICsgcyA6IHMudG9TdHJpbmcoKTtcclxuICB9XHJcbiAgc3RhcnRUaW1lcihkdXJhdGlvbjogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnRpbWVMZWZ0ID0gZHVyYXRpb24qdGhpcy50aW1lckNvdW50ZXI7XHJcbiAgICB0aGlzLmludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy50aW1lTGVmdCA+IDAgJiYgdGhpcy50aW1lck9uKSB7XHJcbiAgICAgICAgdGhpcy50aW1lTGVmdC0tO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuY2xlYXJUaW1lcigpO1xyXG4gICAgICB9XHJcbiAgICB9LCAxMDAwKTtcclxuICB9XHJcblxyXG4gIGNsZWFyVGltZXIoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pbnRlcnZhbCkge1xyXG4gICAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8YmxvY2stdWk+PC9ibG9jay11aT5cclxuPGRpdiBjbGFzcz1cImZvcm0gdy0xMDBcIiBub3ZhbGlkYXRlPVwibm92YWxpZGF0ZVwiIGlkPVwia3Rfc2lnbl9pbl9mb3JtXCI+XHJcbiAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG1iLTEwXCI+XHJcbiAgICA8aDEgY2xhc3M9XCJ0ZXh0LWRhcmsgbWItM1wiPiB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJWZXJpZnkyRkFcIil9fTwvaDE+XHJcbiAgPC9kaXY+XHJcbiAgPEJCU0YtRm9ybSBbb3B0aW9uc109XCJ2ZXJpZnkyRkFGb3JtT3B0aW9uc1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZ2LXJvdyBtYi0xMFwiPlxyXG4gICAgICA8QkJTRi1UZXh0Qm94IFtvcHRpb25zXT1cIm90cENvZGVcIiBbZ3JvdXBdPVwidmVyaWZ5MkZBRm9ybVwiPjwvQkJTRi1UZXh0Qm94PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2PlxyXG4gICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aW1lTGVmdCA+IDBcIiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZy1ib3R0b206IDVweDtcIiA+XHJcbiAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJ0aW1lclwiPnt7IG1pbnV0ZXMgfX06e3sgc2Vjb25kcyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxhIGlkPVwicmVzZW5kT1RQQnRuXCIgKGNsaWNrKT1cInJlc2VuZE9UUCgpXCIgY2xhc3M9XCJidG4gYnRuLWxpbmsgIGJ0bi1zbSBmcy02IGZ3LWJvbGRlciBtdC0yXCIgIFtjbGFzcy5kaXNhYmxlZF09XCJ0aW1lTGVmdCA+IDBcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJSZXNlbmRPVFBcIil9fTwvYT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXJcIj5cclxuICAgICAgPCEtLWJlZ2luOjpTdWJtaXQgYnV0dG9uLS0+XHJcbiAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtXCI+XHJcbiAgICAgICAge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiU3VibWl0XCIpfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L0JCU0YtRm9ybT5cclxuPC9kaXY+XHJcbjwhLS1lbmQ6OkZvcm0tLT5cclxuIl19
|
|
@@ -46,6 +46,12 @@ export class AccountService {
|
|
|
46
46
|
loginWithWindowsAuthentication() {
|
|
47
47
|
return this.http.get(this.ApiUrl + 'LoginWithWindowsAuthentication');
|
|
48
48
|
}
|
|
49
|
+
verify2FA(model) {
|
|
50
|
+
return this.http.post(this.ApiUrl + 'Verify2FA', model);
|
|
51
|
+
}
|
|
52
|
+
resendOTP(id) {
|
|
53
|
+
return this.http.get(`${this.ApiUrl}Resend2FACode/${id}`);
|
|
54
|
+
}
|
|
49
55
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AccountService, deps: [{ token: i1.RequestHandlerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
50
56
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AccountService, providedIn: 'root' }); }
|
|
51
57
|
}
|
|
@@ -55,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
|
|
|
55
61
|
providedIn: 'root'
|
|
56
62
|
}]
|
|
57
63
|
}], ctorParameters: () => [{ type: i1.RequestHandlerService }] });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWNjb3VudFNlcnZpY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvUGFnZXMvc2hhcmVkL1NlcnZpY2VzL0FjY291bnRTZXJ2aWNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVUzQyxNQUFNLE9BQU8sY0FBYztJQUV6QixZQUFvQixJQUEyQjtRQUEzQixTQUFJLEdBQUosSUFBSSxDQUF1QjtRQUQvQyxXQUFNLEdBQUcsV0FBVyxDQUFDO0lBRXJCLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBYTtRQUMxQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxFQUFVO1FBQ3pCLElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFDOUIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFzQjtRQUNsQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsZUFBZSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFDRCxjQUFjLENBQUMsS0FBc0I7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxhQUFhLENBQUMsRUFBVTtRQUN0QixJQUFJLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQzlCLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxRQUFRLENBQUMsS0FBc0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQWtCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELDZCQUE2QixDQUFDLE9BQWU7UUFDM0MsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUM5QixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDM0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLHlCQUF5QixFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBVTtRQUNkLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFVO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQTBCLElBQUksQ0FBQyxNQUFNLEdBQUcsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFDRCw4QkFBOEI7UUFDNUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLGdDQUFnQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUNELFNBQVMsQ0FBQyxLQUFtQztRQUMzQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFDRCxTQUFTLENBQUMsRUFBUztRQUNqQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0saUJBQWlCLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDNUQsQ0FBQzs4R0F4RFUsY0FBYztrSEFBZCxjQUFjLGNBRmIsTUFBTTs7MkZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBSZXF1ZXN0SGFuZGxlclNlcnZpY2UgfSBmcm9tIFwiQGJuc2lnaHRzL2Jic2YtdXRpbGl0aWVzXCI7XHJcbmltcG9ydCB7IExpY2Vuc2VNb2RlbCB9IGZyb20gXCIuLi9tb2RlbHMvTGljZW5zZU1vZGVsL0xpY2Vuc2VNb2RlbFwiO1xyXG5pbXBvcnQgeyBBY3RpdmF0aW9uTW9kZWwgfSBmcm9tIFwiLi4vbW9kZWxzL1VzZXJNb2RlbHMvQWN0aXZhdGlvbk1vZGVsXCI7XHJcbmltcG9ydCB7IFVBRVBhc3NMb2dpblJlc3VsdE1vZGVsIH0gZnJvbSBcIi4uL21vZGVscy9Vc2VyTW9kZWxzL0lkZW50aXR5TW9kZWxcIjtcclxuaW1wb3J0IHsgVHdvRmFjdG9yQXV0aGVudGljYXRpb25Nb2RlbCB9IGZyb20gXCIuLi9tb2RlbHMvQWNjb3VudE1vZGVscy90d29GYWN0b3JBdXRoZW50aWNhdGlvbk1vZGVsXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY2NvdW50U2VydmljZSB7XHJcbiAgQXBpVXJsID0gXCIvYWNjb3VudC9cIjtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IFJlcXVlc3RIYW5kbGVyU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgZm9yZ290UGFzc3dvcmQoZW1haWw6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuQXBpVXJsICsgJ2ZvcmdvdFBhc3N3b3JkJywgSlNPTi5zdHJpbmdpZnkoZW1haWwpKTtcclxuICB9XHJcbiAgZ2V0UmVzZXRQYXNzd29yZChpZDogc3RyaW5nKSB7XHJcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoXCJpZFwiLCBpZCk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLkFwaVVybCArICdSZXNldFBhc3N3b3JkJywgcGFyYW1zKTtcclxuICB9XHJcblxyXG4gIHJlc2V0UGFzc3dvcmQobW9kZWw6IEFjdGl2YXRpb25Nb2RlbCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuQXBpVXJsICsgJ1Jlc2V0UGFzc3dvcmQnLCBtb2RlbCk7XHJcbiAgfVxyXG4gIGNoYW5nZVBhc3N3b3JkKG1vZGVsOiBBY3RpdmF0aW9uTW9kZWwpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLkFwaVVybCArICdDaGFuZ2VQYXNzd29yZCcsIG1vZGVsKTtcclxuICB9XHJcblxyXG4gIGdldEFjdGl2YXRpb24oaWQ6IHN0cmluZykge1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKFwiaWRcIiwgaWQpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5BcGlVcmwgKyAnQWN0aXZhdGUnLCBwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgYWN0aXZhdGUobW9kZWw6IEFjdGl2YXRpb25Nb2RlbCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuQXBpVXJsICsgJ0FjdGl2YXRlJywgbW9kZWwpO1xyXG4gIH1cclxuXHJcbiAgdXBsb2FkTGljZW5zZShGaWxlOiBMaWNlbnNlTW9kZWwpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLkFwaVVybCArICdVcGxvYWRMaWNlbnNlJywgRmlsZSk7XHJcbiAgfVxyXG5cclxuICBVcGRhdGVMYW5ndWFnZUNvb2tpZUFub255bW91cyhsYW5nS2V5OiBzdHJpbmcpIHtcclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChcImxhbmdLZXlcIiwgbGFuZ0tleSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLkFwaVVybCArICdDaGFuZ2VMYW5ndWFnZUFub255bW91cycsIHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICBsb2dpbihtb2RlbDogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5BcGlVcmwgKyAnTG9naW4nLCBtb2RlbCk7XHJcbiAgfVxyXG5cclxuICBVQUVQYXNzTG9naW4obW9kZWw6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFVBRVBhc3NMb2dpblJlc3VsdE1vZGVsPih0aGlzLkFwaVVybCArICdVQUVQYXNzTG9naW4nLCBtb2RlbCk7XHJcbiAgfVxyXG4gIGxvZ2luV2l0aFdpbmRvd3NBdXRoZW50aWNhdGlvbigpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuQXBpVXJsICsgJ0xvZ2luV2l0aFdpbmRvd3NBdXRoZW50aWNhdGlvbicpO1xyXG4gIH1cclxuICB2ZXJpZnkyRkEobW9kZWw6IFR3b0ZhY3RvckF1dGhlbnRpY2F0aW9uTW9kZWwpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLkFwaVVybCArICdWZXJpZnkyRkEnLCBtb2RlbCk7XHJcbiAgfVxyXG4gIHJlc2VuZE9UUChpZDpzdHJpbmcpe1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5BcGlVcmx9UmVzZW5kMkZBQ29kZS8ke2lkfWApO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export class TwoFactorAuthenticationModel {
|
|
2
|
+
}
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHdvRmFjdG9yQXV0aGVudGljYXRpb25Nb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvUGFnZXMvc2hhcmVkL21vZGVscy9BY2NvdW50TW9kZWxzL3R3b0ZhY3RvckF1dGhlbnRpY2F0aW9uTW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLDRCQUE0QjtDQUd4QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBUd29GYWN0b3JBdXRoZW50aWNhdGlvbk1vZGVse1xyXG4gICAgaWQ6c3RyaW5nO1xyXG4gICAgY29kZTpzdHJpbmc7XHJcbn0iXX0=
|
|
@@ -18626,6 +18626,12 @@ class AccountService {
|
|
|
18626
18626
|
loginWithWindowsAuthentication() {
|
|
18627
18627
|
return this.http.get(this.ApiUrl + 'LoginWithWindowsAuthentication');
|
|
18628
18628
|
}
|
|
18629
|
+
verify2FA(model) {
|
|
18630
|
+
return this.http.post(this.ApiUrl + 'Verify2FA', model);
|
|
18631
|
+
}
|
|
18632
|
+
resendOTP(id) {
|
|
18633
|
+
return this.http.get(`${this.ApiUrl}Resend2FACode/${id}`);
|
|
18634
|
+
}
|
|
18629
18635
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AccountService, deps: [{ token: i1$1.RequestHandlerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
18630
18636
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AccountService, providedIn: 'root' }); }
|
|
18631
18637
|
}
|
|
@@ -23669,6 +23675,101 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
|
|
|
23669
23675
|
args: [{ selector: 'lib-change-password', template: "<block-ui></block-ui>\r\n<div class=\"form w-100\" novalidate=\"novalidate\" id=\"kt_sign_in_form\">\r\n <div class=\"text-center mb-10\">\r\n <h1 class=\"text-dark mb-3\"> {{utilityService.getResourceValue(\"ChangePassword\")}}</h1>\r\n </div>\r\n <BBSF-Form [options]=\"changePasswordFormOptions\">\r\n <div class=\"fv-row mb-10\">\r\n <BBSF-TextBox [options]=\"oldPassword\" [group]=\"changePasswordForm\"></BBSF-TextBox>\r\n </div>\r\n <div class=\"fv-row mb-10\">\r\n <BBSF-TextBox [options]=\"newPassword\" [group]=\"changePasswordForm\"></BBSF-TextBox>\r\n </div>\r\n <div class=\"fv-row mb-10\">\r\n <BBSF-TextBox [options]=\"newPasswordConfirmation\" [group]=\"changePasswordForm\"></BBSF-TextBox>\r\n </div>\r\n <div class=\"text-center\">\r\n <!--begin::Submit button-->\r\n <button type=\"submit\"\r\n class=\"btn btn-primary btn-sm\">\r\n {{utilityService.getResourceValue(\"ChangePassword\")}}\r\n </button>\r\n </div>\r\n </BBSF-Form>\r\n</div>\r\n<!--end::Form-->\r\n" }]
|
|
23670
23676
|
}], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: AccountService }, { type: i1$1.UtilityService }, { type: i1.Router }] });
|
|
23671
23677
|
|
|
23678
|
+
class TwoFactorAuthenticationModel {
|
|
23679
|
+
}
|
|
23680
|
+
|
|
23681
|
+
class VerifyTwoFAComponent {
|
|
23682
|
+
constructor(activatedRoute, accountService, utilityService, router, authService) {
|
|
23683
|
+
this.activatedRoute = activatedRoute;
|
|
23684
|
+
this.accountService = accountService;
|
|
23685
|
+
this.utilityService = utilityService;
|
|
23686
|
+
this.router = router;
|
|
23687
|
+
this.authService = authService;
|
|
23688
|
+
this.verify2FAForm = new FormGroup({});
|
|
23689
|
+
this.verify2FAFormOptions = new FormOptions;
|
|
23690
|
+
this.duration = 60;
|
|
23691
|
+
this.timerOn = true;
|
|
23692
|
+
this.timerCounter = 1;
|
|
23693
|
+
this.getVerify2FAModel = () => {
|
|
23694
|
+
let paramArray = [];
|
|
23695
|
+
let ResultModel = this.verify2FAForm.value;
|
|
23696
|
+
let model = new TwoFactorAuthenticationModel();
|
|
23697
|
+
model.id = this.userID;
|
|
23698
|
+
model.code = ResultModel.otpCode;
|
|
23699
|
+
paramArray.push(model);
|
|
23700
|
+
return paramArray;
|
|
23701
|
+
};
|
|
23702
|
+
this.getVerify2FAFunction = (model) => {
|
|
23703
|
+
return this.accountService.verify2FA(model);
|
|
23704
|
+
};
|
|
23705
|
+
this.onSuccessHandler = async (result) => {
|
|
23706
|
+
await this.authService.handleAccessToken(result.val);
|
|
23707
|
+
this.router.navigate([this.authService.getUrl()]);
|
|
23708
|
+
};
|
|
23709
|
+
this.activatedRoute.params.subscribe(params => {
|
|
23710
|
+
this.userID = params['id'];
|
|
23711
|
+
});
|
|
23712
|
+
}
|
|
23713
|
+
ngOnInit() {
|
|
23714
|
+
this.startTimer(this.duration);
|
|
23715
|
+
this.verify2FAForm = new FormGroup({});
|
|
23716
|
+
this.verify2FAFormOptions = new FormOptions();
|
|
23717
|
+
this.verify2FAFormOptions.formGroup = this.verify2FAForm;
|
|
23718
|
+
this.verify2FAFormOptions.getModelFunction = this.getVerify2FAModel;
|
|
23719
|
+
this.verify2FAFormOptions.serviceSubmitFunction = this.getVerify2FAFunction;
|
|
23720
|
+
this.verify2FAFormOptions.onSuccessHandler = this.onSuccessHandler;
|
|
23721
|
+
this.otpCode = new TextBoxOptions();
|
|
23722
|
+
this.otpCode.name = "otpCode";
|
|
23723
|
+
this.otpCode.labelKey = "OtpCode";
|
|
23724
|
+
this.otpCode.type = InputType.Text;
|
|
23725
|
+
this.otpCode.isRequired = true;
|
|
23726
|
+
this.otpCode.maxLength = 6;
|
|
23727
|
+
}
|
|
23728
|
+
ngOnDestroy() {
|
|
23729
|
+
if (this.interval) {
|
|
23730
|
+
clearInterval(this.interval);
|
|
23731
|
+
}
|
|
23732
|
+
}
|
|
23733
|
+
resendOTP() {
|
|
23734
|
+
this.accountService.resendOTP(this.userID).subscribe((result) => {
|
|
23735
|
+
this.timerCounter++;
|
|
23736
|
+
this.duration = this.duration * this.timerCounter;
|
|
23737
|
+
this.timerOn = true;
|
|
23738
|
+
this.startTimer(this.duration);
|
|
23739
|
+
});
|
|
23740
|
+
}
|
|
23741
|
+
get minutes() {
|
|
23742
|
+
const m = Math.floor(this.timeLeft / 60);
|
|
23743
|
+
return m < 10 ? '0' + m : m.toString();
|
|
23744
|
+
}
|
|
23745
|
+
get seconds() {
|
|
23746
|
+
const s = this.timeLeft % 60;
|
|
23747
|
+
return s < 10 ? '0' + s : s.toString();
|
|
23748
|
+
}
|
|
23749
|
+
startTimer(duration) {
|
|
23750
|
+
this.timeLeft = duration * this.timerCounter;
|
|
23751
|
+
this.interval = setInterval(() => {
|
|
23752
|
+
if (this.timeLeft > 0 && this.timerOn) {
|
|
23753
|
+
this.timeLeft--;
|
|
23754
|
+
}
|
|
23755
|
+
else {
|
|
23756
|
+
this.clearTimer();
|
|
23757
|
+
}
|
|
23758
|
+
}, 1000);
|
|
23759
|
+
}
|
|
23760
|
+
clearTimer() {
|
|
23761
|
+
if (this.interval) {
|
|
23762
|
+
clearInterval(this.interval);
|
|
23763
|
+
}
|
|
23764
|
+
}
|
|
23765
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: VerifyTwoFAComponent, deps: [{ token: i1.ActivatedRoute }, { token: AccountService }, { token: i1$1.UtilityService }, { token: i1.Router }, { token: i1$1.AuthService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23766
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: VerifyTwoFAComponent, selector: "lib-verify-two-fa", ngImport: i0, template: "<block-ui></block-ui>\r\n<div class=\"form w-100\" novalidate=\"novalidate\" id=\"kt_sign_in_form\">\r\n <div class=\"text-center mb-10\">\r\n <h1 class=\"text-dark mb-3\"> {{utilityService.getResourceValue(\"Verify2FA\")}}</h1>\r\n </div>\r\n <BBSF-Form [options]=\"verify2FAFormOptions\">\r\n <div class=\"fv-row mb-10\">\r\n <BBSF-TextBox [options]=\"otpCode\" [group]=\"verify2FAForm\"></BBSF-TextBox>\r\n </div>\r\n <div>\r\n <div>\r\n <div *ngIf=\"timeLeft > 0\" style=\"text-align: center; padding-bottom: 5px;\" >\r\n <span id=\"timer\">{{ minutes }}:{{ seconds }}</span>\r\n </div>\r\n <a id=\"resendOTPBtn\" (click)=\"resendOTP()\" class=\"btn btn-link btn-sm fs-6 fw-bolder mt-2\" [class.disabled]=\"timeLeft > 0\">{{utilityService.getResourceValue(\"ResendOTP\")}}</a>\r\n </div>\r\n </div>\r\n <div class=\"text-center\">\r\n <!--begin::Submit button-->\r\n <button type=\"submit\"\r\n class=\"btn btn-primary btn-sm\">\r\n {{utilityService.getResourceValue(\"Submit\")}}\r\n </button>\r\n </div>\r\n </BBSF-Form>\r\n</div>\r\n<!--end::Form-->\r\n", dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.TextboxComponent, selector: "BBSF-TextBox", inputs: ["group", "options"], outputs: ["onChange", "onBlur"] }, { kind: "component", type: i8.FormComponent, selector: "BBSF-Form", inputs: ["options"], outputs: ["onChange"] }, { kind: "component", type: i1$2.BlockUIComponent, selector: "block-ui", inputs: ["name", "message", "delayStart", "delayStop", "template"] }] }); }
|
|
23767
|
+
}
|
|
23768
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: VerifyTwoFAComponent, decorators: [{
|
|
23769
|
+
type: Component,
|
|
23770
|
+
args: [{ selector: 'lib-verify-two-fa', template: "<block-ui></block-ui>\r\n<div class=\"form w-100\" novalidate=\"novalidate\" id=\"kt_sign_in_form\">\r\n <div class=\"text-center mb-10\">\r\n <h1 class=\"text-dark mb-3\"> {{utilityService.getResourceValue(\"Verify2FA\")}}</h1>\r\n </div>\r\n <BBSF-Form [options]=\"verify2FAFormOptions\">\r\n <div class=\"fv-row mb-10\">\r\n <BBSF-TextBox [options]=\"otpCode\" [group]=\"verify2FAForm\"></BBSF-TextBox>\r\n </div>\r\n <div>\r\n <div>\r\n <div *ngIf=\"timeLeft > 0\" style=\"text-align: center; padding-bottom: 5px;\" >\r\n <span id=\"timer\">{{ minutes }}:{{ seconds }}</span>\r\n </div>\r\n <a id=\"resendOTPBtn\" (click)=\"resendOTP()\" class=\"btn btn-link btn-sm fs-6 fw-bolder mt-2\" [class.disabled]=\"timeLeft > 0\">{{utilityService.getResourceValue(\"ResendOTP\")}}</a>\r\n </div>\r\n </div>\r\n <div class=\"text-center\">\r\n <!--begin::Submit button-->\r\n <button type=\"submit\"\r\n class=\"btn btn-primary btn-sm\">\r\n {{utilityService.getResourceValue(\"Submit\")}}\r\n </button>\r\n </div>\r\n </BBSF-Form>\r\n</div>\r\n<!--end::Form-->\r\n" }]
|
|
23771
|
+
}], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: AccountService }, { type: i1$1.UtilityService }, { type: i1.Router }, { type: i1$1.AuthService }] });
|
|
23772
|
+
|
|
23672
23773
|
const routes$2 = [
|
|
23673
23774
|
{
|
|
23674
23775
|
path: "account", component: anonymouslayoutComponent, resolve: [TranslationResolverService], children: [
|
|
@@ -23679,6 +23780,7 @@ const routes$2 = [
|
|
|
23679
23780
|
{ path: "uploadLicense", component: UploadLicenseComponent },
|
|
23680
23781
|
{ path: "error/:key/:error", component: ErrorComponent },
|
|
23681
23782
|
{ path: "changePassword/:id", component: ChangePasswordComponent },
|
|
23783
|
+
{ path: "verify2FA/:id", component: VerifyTwoFAComponent }
|
|
23682
23784
|
]
|
|
23683
23785
|
}
|
|
23684
23786
|
];
|
|
@@ -23743,7 +23845,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
|
|
|
23743
23845
|
|
|
23744
23846
|
class AnonymouslayoutModule {
|
|
23745
23847
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AnonymouslayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
23746
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: AnonymouslayoutModule, declarations: [LoginComponent, anonymouslayoutComponent, ForgotPasswordComponent, RestPasswordComponent, ActivationComponent, UploadLicenseComponent, ErrorComponent, ChangePasswordComponent], imports: [CommonModule,
|
|
23848
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: AnonymouslayoutModule, declarations: [LoginComponent, anonymouslayoutComponent, ForgotPasswordComponent, RestPasswordComponent, ActivationComponent, UploadLicenseComponent, ErrorComponent, ChangePasswordComponent, VerifyTwoFAComponent], imports: [CommonModule,
|
|
23747
23849
|
RouterModule,
|
|
23748
23850
|
AnonymouslayoutRoutingModule,
|
|
23749
23851
|
SharedModule,
|
|
@@ -23783,7 +23885,7 @@ class AnonymouslayoutModule {
|
|
|
23783
23885
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AnonymouslayoutModule, decorators: [{
|
|
23784
23886
|
type: NgModule,
|
|
23785
23887
|
args: [{
|
|
23786
|
-
declarations: [LoginComponent, anonymouslayoutComponent, ForgotPasswordComponent, RestPasswordComponent, ActivationComponent, UploadLicenseComponent, ErrorComponent, ChangePasswordComponent],
|
|
23888
|
+
declarations: [LoginComponent, anonymouslayoutComponent, ForgotPasswordComponent, RestPasswordComponent, ActivationComponent, UploadLicenseComponent, ErrorComponent, ChangePasswordComponent, VerifyTwoFAComponent],
|
|
23787
23889
|
imports: [
|
|
23788
23890
|
CommonModule,
|
|
23789
23891
|
RouterModule,
|