@aws-amplify/ui-angular 2.0.6 → 2.0.10
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 +1 -1
- package/aws-amplify-ui-angular.d.ts +15 -14
- package/aws-amplify-ui-angular.metadata.json +1 -1
- package/bundles/aws-amplify-ui-angular.umd.js +86 -44
- package/bundles/aws-amplify-ui-angular.umd.js.map +1 -1
- package/bundles/aws-amplify-ui-angular.umd.min.js +1 -1
- package/bundles/aws-amplify-ui-angular.umd.min.js.map +1 -1
- package/esm2015/aws-amplify-ui-angular.js +16 -15
- package/esm2015/lib/components/authenticator/authenticator.module.js +4 -1
- package/esm2015/lib/components/authenticator/components/force-new-password/force-new-password-form-fields/force-new-password-form-fields.component.js +30 -0
- package/esm2015/lib/components/authenticator/components/force-new-password/force-new-password.component.js +2 -2
- package/esm2015/lib/components/authenticator/components/form-field/form-field.component.js +1 -6
- package/esm2015/lib/components/authenticator/components/index.js +2 -1
- package/esm2015/lib/components/authenticator/components/setup-totp/setup-totp.component.js +10 -4
- package/esm2015/lib/components/authenticator/components/sign-in/sign-in.component.js +7 -4
- package/esm2015/lib/services/authenticator.service.js +19 -14
- package/fesm2015/aws-amplify-ui-angular.js +62 -24
- package/fesm2015/aws-amplify-ui-angular.js.map +1 -1
- package/lib/components/authenticator/components/force-new-password/force-new-password-form-fields/force-new-password-form-fields.component.d.ts +8 -0
- package/lib/components/authenticator/components/index.d.ts +1 -0
- package/lib/components/authenticator/components/setup-totp/setup-totp.component.d.ts +3 -0
- package/lib/services/authenticator.service.d.ts +2 -1
- package/package.json +4 -4
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { AuthenticatorService } from '../../../../../services/authenticator.service';
|
|
3
|
+
import { authInputAttributes, getActorContext, } from '@aws-amplify/ui';
|
|
4
|
+
export class ForceNewPasswordFormFieldsComponent {
|
|
5
|
+
constructor(authenticator) {
|
|
6
|
+
this.authenticator = authenticator;
|
|
7
|
+
}
|
|
8
|
+
ngOnInit() {
|
|
9
|
+
const state = this.authenticator.authState;
|
|
10
|
+
const actorContext = getActorContext(state);
|
|
11
|
+
const { requiredAttributes } = actorContext;
|
|
12
|
+
this.fieldNames = requiredAttributes.filter((fieldName) => {
|
|
13
|
+
const hasDefaultField = !!authInputAttributes[fieldName];
|
|
14
|
+
if (!hasDefaultField) {
|
|
15
|
+
console.debug(`Authenticator does not have a default implementation for ${fieldName}. Customize Authenticator.SignUp.FormFields to add your own.`);
|
|
16
|
+
}
|
|
17
|
+
return hasDefaultField;
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
ForceNewPasswordFormFieldsComponent.decorators = [
|
|
22
|
+
{ type: Component, args: [{
|
|
23
|
+
selector: 'amplify-force-new-password-form-fields',
|
|
24
|
+
template: "<div class=\"amplify-flex\" style=\"flex-direction: column\" data-amplify-fieldset>\n <ng-container *ngFor=\"let field of fieldNames\">\n <amplify-form-field\n [name]=\"field\"\n [labelHidden]=\"false\"\n ></amplify-form-field>\n </ng-container>\n</div>\n"
|
|
25
|
+
},] }
|
|
26
|
+
];
|
|
27
|
+
ForceNewPasswordFormFieldsComponent.ctorParameters = () => [
|
|
28
|
+
{ type: AuthenticatorService }
|
|
29
|
+
];
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yY2UtbmV3LXBhc3N3b3JkLWZvcm0tZmllbGRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2F1dGhlbnRpY2F0b3IvY29tcG9uZW50cy9mb3JjZS1uZXctcGFzc3dvcmQvZm9yY2UtbmV3LXBhc3N3b3JkLWZvcm0tZmllbGRzL2ZvcmNlLW5ldy1wYXNzd29yZC1mb3JtLWZpZWxkcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNyRixPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGVBQWUsR0FFaEIsTUFBTSxpQkFBaUIsQ0FBQztBQU16QixNQUFNLE9BQU8sbUNBQW1DO0lBRzlDLFlBQW9CLGFBQW1DO1FBQW5DLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtJQUFHLENBQUM7SUFFM0QsUUFBUTtRQUNOLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQzNDLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQWtCLENBQUM7UUFDN0QsTUFBTSxFQUFFLGtCQUFrQixFQUFFLEdBQUcsWUFBWSxDQUFDO1FBRTVDLElBQUksQ0FBQyxVQUFVLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDeEQsTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3pELElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ3BCLE9BQU8sQ0FBQyxLQUFLLENBQ1gsNERBQTRELFNBQVMsOERBQThELENBQ3BJLENBQUM7YUFDSDtZQUNELE9BQU8sZUFBZSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBdkJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsd0NBQXdDO2dCQUNsRCw2UkFBOEQ7YUFDL0Q7OztZQVZRLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdG9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0b3Iuc2VydmljZSc7XG5pbXBvcnQge1xuICBhdXRoSW5wdXRBdHRyaWJ1dGVzLFxuICBnZXRBY3RvckNvbnRleHQsXG4gIFNpZ25JbkNvbnRleHQsXG59IGZyb20gJ0Bhd3MtYW1wbGlmeS91aSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FtcGxpZnktZm9yY2UtbmV3LXBhc3N3b3JkLWZvcm0tZmllbGRzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZvcmNlLW5ldy1wYXNzd29yZC1mb3JtLWZpZWxkcy5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEZvcmNlTmV3UGFzc3dvcmRGb3JtRmllbGRzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIGZpZWxkTmFtZXM6IHN0cmluZ1tdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXV0aGVudGljYXRvcjogQXV0aGVudGljYXRvclNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLmF1dGhlbnRpY2F0b3IuYXV0aFN0YXRlO1xuICAgIGNvbnN0IGFjdG9yQ29udGV4dCA9IGdldEFjdG9yQ29udGV4dChzdGF0ZSkgYXMgU2lnbkluQ29udGV4dDtcbiAgICBjb25zdCB7IHJlcXVpcmVkQXR0cmlidXRlcyB9ID0gYWN0b3JDb250ZXh0O1xuXG4gICAgdGhpcy5maWVsZE5hbWVzID0gcmVxdWlyZWRBdHRyaWJ1dGVzLmZpbHRlcigoZmllbGROYW1lKSA9PiB7XG4gICAgICBjb25zdCBoYXNEZWZhdWx0RmllbGQgPSAhIWF1dGhJbnB1dEF0dHJpYnV0ZXNbZmllbGROYW1lXTtcbiAgICAgIGlmICghaGFzRGVmYXVsdEZpZWxkKSB7XG4gICAgICAgIGNvbnNvbGUuZGVidWcoXG4gICAgICAgICAgYEF1dGhlbnRpY2F0b3IgZG9lcyBub3QgaGF2ZSBhIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gZm9yICR7ZmllbGROYW1lfS4gQ3VzdG9taXplIEF1dGhlbnRpY2F0b3IuU2lnblVwLkZvcm1GaWVsZHMgdG8gYWRkIHlvdXIgb3duLmBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBoYXNEZWZhdWx0RmllbGQ7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -26,7 +26,7 @@ export class ForceNewPasswordComponent {
|
|
|
26
26
|
ForceNewPasswordComponent.decorators = [
|
|
27
27
|
{ type: Component, args: [{
|
|
28
28
|
selector: 'amplify-force-new-password',
|
|
29
|
-
template: "<div data-amplify-container>\n <form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"force-new-password-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\">{{ this.headerText }}</h3>\n </amplify-slot>\n <amplify-form-field\n name=\"password\"\n type=\"password\"\n autocomplete=\"new-password\"\n ></amplify-form-field>\n\n <amplify-form-field\n name=\"confirm_password\"\n label=\"Confirm Password\"\n type=\"password\"\n autocomplete=\"new-password\"\n ></amplify-form-field>\n\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ changePasswordText }}\n </button>\n\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.toSignIn()\"\n >\n {{ backToSignInText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot name=\"force-new-password-footer\" [context]=\"context\">\n </amplify-slot>\n </form>\n</div>\n"
|
|
29
|
+
template: "<div data-amplify-container>\n <form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"force-new-password-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\">{{ this.headerText }}</h3>\n </amplify-slot>\n <amplify-form-field\n name=\"password\"\n type=\"password\"\n autocomplete=\"new-password\"\n ></amplify-form-field>\n\n <amplify-form-field\n name=\"confirm_password\"\n label=\"Confirm Password\"\n type=\"password\"\n autocomplete=\"new-password\"\n ></amplify-form-field>\n <amplify-slot name=\"force-new-form-fields\" [context]=\"context\">\n <amplify-force-new-password-form-fields></amplify-force-new-password-form-fields>\n </amplify-slot>\n\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ changePasswordText }}\n </button>\n\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.toSignIn()\"\n >\n {{ backToSignInText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot name=\"force-new-password-footer\" [context]=\"context\">\n </amplify-slot>\n </form>\n</div>\n"
|
|
30
30
|
},] }
|
|
31
31
|
];
|
|
32
32
|
ForceNewPasswordComponent.ctorParameters = () => [
|
|
@@ -36,4 +36,4 @@ ForceNewPasswordComponent.propDecorators = {
|
|
|
36
36
|
dataAttr: [{ type: HostBinding, args: ['attr.data-amplify-authenticator-forcenewpassword',] }],
|
|
37
37
|
headerText: [{ type: Input }]
|
|
38
38
|
};
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yY2UtbmV3LXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2F1dGhlbnRpY2F0b3IvY29tcG9uZW50cy9mb3JjZS1uZXctcGFzc3dvcmQvZm9yY2UtbmV3LXBhc3N3b3JkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBTTVDLE1BQU0sT0FBTyx5QkFBeUI7SUFTcEMsWUFBbUIsYUFBbUM7UUFBbkMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBUHRELGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDRSxlQUFVLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFMUQsbUJBQW1CO1FBQ1osdUJBQWtCLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbEQscUJBQWdCLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFFRSxDQUFDO0lBRTFELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBWTtRQUNsQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBcUIsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUN2RCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxRQUFRLENBQUMsS0FBWTtRQUNuQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNsQyxDQUFDOzs7WUE1QkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSw0QkFBNEI7Z0JBQ3RDLHltREFBa0Q7YUFDbkQ7OztZQU5RLG9CQUFvQjs7O3VCQVExQixXQUFXLFNBQUMsa0RBQWtEO3lCQUU5RCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ0Bhd3MtYW1wbGlmeS91aSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FtcGxpZnktZm9yY2UtbmV3LXBhc3N3b3JkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZvcmNlLW5ldy1wYXNzd29yZC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEZvcmNlTmV3UGFzc3dvcmRDb21wb25lbnQge1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1hbXBsaWZ5LWF1dGhlbnRpY2F0b3ItZm9yY2VuZXdwYXNzd29yZCcpXG4gIGRhdGFBdHRyID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBoZWFkZXJUZXh0ID0gdHJhbnNsYXRlKCdDaGFuZ2UgUGFzc3dvcmQnKTtcblxuICAvLyB0cmFuc2xhdGVkIHRleHRzXG4gIHB1YmxpYyBjaGFuZ2VQYXNzd29yZFRleHQgPSB0cmFuc2xhdGUoJ0NoYW5nZSBQYXNzd29yZCcpO1xuICBwdWJsaWMgYmFja1RvU2lnbkluVGV4dCA9IHRyYW5zbGF0ZSgnQmFjayB0byBTaWduIEluJyk7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGF1dGhlbnRpY2F0b3I6IEF1dGhlbnRpY2F0b3JTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBnZXQgY29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5hdXRoZW50aWNhdG9yLnNsb3RDb250ZXh0O1xuICB9XG5cbiAgb25JbnB1dChldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGNvbnN0IHsgbmFtZSwgdmFsdWUgfSA9IDxIVE1MSW5wdXRFbGVtZW50PmV2ZW50LnRhcmdldDtcbiAgICB0aGlzLmF1dGhlbnRpY2F0b3IudXBkYXRlRm9ybSh7IG5hbWUsIHZhbHVlIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmF1dGhlbnRpY2F0b3Iuc3VibWl0Rm9ybSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -27,11 +27,6 @@ export class FormFieldComponent {
|
|
|
27
27
|
const state = this.authenticator.authState;
|
|
28
28
|
const { country_code } = getActorContext(state);
|
|
29
29
|
this.defaultCountryCode = country_code;
|
|
30
|
-
// TODO: remove this side-effect
|
|
31
|
-
this.authenticator.updateForm({
|
|
32
|
-
name: 'country_code',
|
|
33
|
-
value: country_code,
|
|
34
|
-
});
|
|
35
30
|
}
|
|
36
31
|
}
|
|
37
32
|
get attributeMap() {
|
|
@@ -94,4 +89,4 @@ FormFieldComponent.propDecorators = {
|
|
|
94
89
|
autocomplete: [{ type: Input }],
|
|
95
90
|
labelHidden: [{ type: Input }]
|
|
96
91
|
};
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdXRoZW50aWNhdG9yL2NvbXBvbmVudHMvZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBR0wsZUFBZSxFQUNmLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFbEY7Ozs7OztHQU1HO0FBS0gsTUFBTSxPQUFPLGtCQUFrQjtJQWdCN0IsWUFBb0IsYUFBbUM7UUFBbkMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBYjlDLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDbEIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFHckIscUJBQWdCLEdBQUcsZ0JBQWdCLENBQUM7SUFJZSxDQUFDO0lBRTNELFFBQVE7UUFDTixzRUFBc0U7UUFDdEUsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDdkIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7WUFDM0MsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUEwQixlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFlBQVksQ0FBQztTQUN4QztJQUNILENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLGVBQWUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxNQUFNLFdBQVcsR0FBMEIsZUFBZSxDQUN4RCxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FDN0IsQ0FBQztRQUNGLE1BQU0sRUFBRSxlQUFlLEVBQUUsR0FBRyxXQUFXLENBQUM7UUFDeEMsT0FBTyxTQUFTLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTSxNQUFNLENBQUMsTUFBYTtRQUN6QixJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQXFCLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFFL0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxVQUFVOztRQUNSLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLFdBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDBDQUFFLEtBQUssQ0FBQSxDQUFDO1FBQ2hFLE9BQU8sU0FBUyxDQUFTLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxnQkFBZ0I7O1FBQ2QsTUFBTSxXQUFXLEdBQ2YsSUFBSSxDQUFDLFdBQVcsV0FDaEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDBDQUFFLFdBQVcsQ0FBQTtZQUN6QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsT0FBTyxTQUFTLENBQVMsV0FBVyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELGdFQUFnRTtJQUNoRSxTQUFTOztRQUNQLG1CQUFPLElBQUksQ0FBQyxJQUFJLHlDQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQywwQ0FBRSxJQUFJLG1DQUFJLE1BQU0sQ0FBQztJQUNuRSxDQUFDO0lBRUQsaUJBQWlCOztRQUNmLE9BQU8sSUFBSSxDQUFDLFlBQVksV0FBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsMENBQUUsWUFBWSxDQUFBLENBQUM7SUFDekUsQ0FBQztJQUVELG1FQUFtRTtJQUNuRSxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssVUFBVSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssS0FBSyxDQUFDO0lBQ3BDLENBQUM7OztZQTlFRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIseTVDQUEwQzthQUMzQzs7O1lBWlEsb0JBQW9COzs7bUJBYzFCLEtBQUs7bUJBQ0wsS0FBSzt1QkFDTCxLQUFLOzBCQUNMLEtBQUs7b0JBQ0wsS0FBSzsyQkFDTCxLQUFLO3VCQUNMLEtBQUs7MkJBQ0wsS0FBSzswQkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBY3RvckNvbnRleHRXaXRoRm9ybXMsXG4gIEF1dGhJbnB1dEF0dHJpYnV0ZXMsXG4gIGdldEFjdG9yQ29udGV4dCxcbiAgdHJhbnNsYXRlLFxuICBjb3VudHJ5RGlhbENvZGVzLFxufSBmcm9tICdAYXdzLWFtcGxpZnkvdWknO1xuaW1wb3J0IHsgZ2V0QXR0cmlidXRlTWFwIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRvci5zZXJ2aWNlJztcblxuLyoqXG4gKiBJbnB1dCBpbnRlcmZhY2Ugb3BpbmlvbmF0ZWQgZm9yIGF1dGhlbnRpY2F0b3IgdXNhZ2UuXG4gKlxuICogVE9ETzogU2VwYXJhdGUgdGhpcyBjb21wb25lbnQgb3V0IHRvIHR3byBwYXJ0cyAtLSAxKSBhbXBsaWZ5LWF1dGgtaW5wdXQgdGhhdFxuICogY29udGFpbnMgYXV0aGVudGljYXRvciBvcGluaW9uYXRlZCBsb2dpYyBhbmQgMikgYW1wbGlmeS10ZXh0LWZpZWxkIHByaW1pdGl2ZVxuICogdGhhdCBkb2VzIG5vdCBtYWtlIGFueSBhdXRoLXJlbGF0ZWQgaW5mZXJlbmNlLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbXBsaWZ5LWZvcm0tZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1GaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZztcbiAgQElucHV0KCkgdHlwZTogc3RyaW5nO1xuICBASW5wdXQoKSByZXF1aXJlZCA9IHRydWU7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJyc7XG4gIEBJbnB1dCgpIGxhYmVsID0gJyc7XG4gIEBJbnB1dCgpIGluaXRpYWxWYWx1ZSA9ICcnO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBhdXRvY29tcGxldGUgPSAnJztcbiAgQElucHV0KCkgbGFiZWxIaWRkZW4gPSB0cnVlO1xuXG4gIHB1YmxpYyBkZWZhdWx0Q291bnRyeUNvZGU6IHN0cmluZztcbiAgcHVibGljIGNvdW50cnlEaWFsQ29kZXMgPSBjb3VudHJ5RGlhbENvZGVzO1xuICBwdWJsaWMgdGV4dEZpZWxkSWQ6IHN0cmluZztcbiAgcHVibGljIHNlbGVjdEZpZWxkSWQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGF1dGhlbnRpY2F0b3I6IEF1dGhlbnRpY2F0b3JTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIFRPRE86IGNvbnNpZGVyIGJldHRlciBkZWZhdWx0IGhhbmRsaW5nIG1lY2hhbmlzbXMgYWNyb3NzIGZyYW1ld29ya3NcbiAgICBpZiAodGhpcy5pc1Bob25lRmllbGQoKSkge1xuICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLmF1dGhlbnRpY2F0b3IuYXV0aFN0YXRlO1xuICAgICAgY29uc3QgeyBjb3VudHJ5X2NvZGUgfTogQWN0b3JDb250ZXh0V2l0aEZvcm1zID0gZ2V0QWN0b3JDb250ZXh0KHN0YXRlKTtcbiAgICAgIHRoaXMuZGVmYXVsdENvdW50cnlDb2RlID0gY291bnRyeV9jb2RlO1xuICAgIH1cbiAgfVxuXG4gIGdldCBhdHRyaWJ1dGVNYXAoKTogQXV0aElucHV0QXR0cmlidXRlcyB7XG4gICAgcmV0dXJuIGdldEF0dHJpYnV0ZU1hcCgpO1xuICB9XG5cbiAgZ2V0IGVycm9yKCk6IHN0cmluZyB7XG4gICAgY29uc3QgZm9ybUNvbnRleHQ6IEFjdG9yQ29udGV4dFdpdGhGb3JtcyA9IGdldEFjdG9yQ29udGV4dChcbiAgICAgIHRoaXMuYXV0aGVudGljYXRvci5hdXRoU3RhdGVcbiAgICApO1xuICAgIGNvbnN0IHsgdmFsaWRhdGlvbkVycm9yIH0gPSBmb3JtQ29udGV4dDtcbiAgICByZXR1cm4gdHJhbnNsYXRlKHZhbGlkYXRpb25FcnJvclt0aGlzLm5hbWVdKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkJsdXIoJGV2ZW50OiBFdmVudCkge1xuICAgIGxldCB7IG5hbWUgfSA9IDxIVE1MSW5wdXRFbGVtZW50PiRldmVudC50YXJnZXQ7XG5cbiAgICB0aGlzLmF1dGhlbnRpY2F0b3IudXBkYXRlQmx1cih7IG5hbWUgfSk7XG4gIH1cblxuICBpbmZlckxhYmVsKCk6IHN0cmluZyB7XG4gICAgY29uc3QgbGFiZWwgPSB0aGlzLmxhYmVsIHx8IHRoaXMuYXR0cmlidXRlTWFwW3RoaXMubmFtZV0/LmxhYmVsO1xuICAgIHJldHVybiB0cmFuc2xhdGU8c3RyaW5nPihsYWJlbCk7XG4gIH1cblxuICBpbmZlclBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgY29uc3QgcGxhY2Vob2xkZXIgPVxuICAgICAgdGhpcy5wbGFjZWhvbGRlciB8fFxuICAgICAgdGhpcy5hdHRyaWJ1dGVNYXBbdGhpcy5uYW1lXT8ucGxhY2Vob2xkZXIgfHxcbiAgICAgIHRoaXMuaW5mZXJMYWJlbCgpO1xuICAgIHJldHVybiB0cmFuc2xhdGU8c3RyaW5nPihwbGFjZWhvbGRlcik7XG4gIH1cblxuICAvLyBpbmZlcnMgd2hhdCB0aGUgYHR5cGVgIG9mIHVuZGVybHlpbmcgaW5wdXQgZWxlbWVudCBzaG91bGQgYmUuXG4gIGluZmVyVHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPz8gdGhpcy5hdHRyaWJ1dGVNYXBbdGhpcy5uYW1lXT8udHlwZSA/PyAndGV4dCc7XG4gIH1cblxuICBpbmZlckF1dG9jb21wbGV0ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmF1dG9jb21wbGV0ZSB8fCB0aGlzLmF0dHJpYnV0ZU1hcFt0aGlzLm5hbWVdPy5hdXRvY29tcGxldGU7XG4gIH1cblxuICAvLyBUT0RPKGVuaGFuY2VtZW50KTogdXNlIGVudW0gdG8gZGlmZmVyZW50aWF0ZSBzcGVjaWFsIGZpZWxkIHR5cGVzXG4gIGlzUGFzc3dvcmRGaWVsZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pbmZlclR5cGUoKSA9PT0gJ3Bhc3N3b3JkJztcbiAgfVxuXG4gIGlzUGhvbmVGaWVsZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pbmZlclR5cGUoKSA9PT0gJ3RlbCc7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -13,5 +13,6 @@ export { SignInComponent } from './sign-in/sign-in.component';
|
|
|
13
13
|
export { SignUpComponent } from './sign-up/sign-up.component';
|
|
14
14
|
export { SignUpFormFieldsComponent } from './sign-up/sign-up-form-fields/sign-up-form-fields.component';
|
|
15
15
|
export { UserNameAliasComponent } from './user-name-alias/user-name-alias.component';
|
|
16
|
+
export { ForceNewPasswordFormFieldsComponent } from './force-new-password/force-new-password-form-fields/force-new-password-form-fields.component';
|
|
16
17
|
export { VerifyUserComponent } from './verify-user/verify-user.component';
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdXRoZW50aWNhdG9yL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDakYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDbEgsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDekcsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDL0csT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDM0YsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDOUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUN4RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRixPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSw4RkFBOEYsQ0FBQztBQUNuSixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEF1dGhlbnRpY2F0b3JDb21wb25lbnQgfSBmcm9tICcuL2F1dGhlbnRpY2F0b3IvYXV0aGVudGljYXRvci5jb21wb25lbnQnO1xuZXhwb3J0IHsgQ29uZmlybVJlc2V0UGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuL2NvbmZpcm0tcmVzZXQtcGFzc3dvcmQvYW1wbGlmeS1jb25maXJtLXJlc2V0LXBhc3N3b3JkLmNvbXBvbmVudCc7XG5leHBvcnQgeyBDb25maXJtU2lnbkluQ29tcG9uZW50IH0gZnJvbSAnLi9jb25maXJtLXNpZ24taW4vY29uZmlybS1zaWduLWluLmNvbXBvbmVudCc7XG5leHBvcnQgeyBDb25maXJtU2lnblVwQ29tcG9uZW50IH0gZnJvbSAnLi9jb25maXJtLXNpZ24tdXAvY29uZmlybS1zaWduLXVwLmNvbXBvbmVudCc7XG5leHBvcnQgeyBDb25maXJtVmVyaWZ5VXNlckNvbXBvbmVudCB9IGZyb20gJy4vY29uZmlybS12ZXJpZnktdXNlci9hbXBsaWZ5LWNvbmZpcm0tdmVyaWZ5LXVzZXIuY29tcG9uZW50JztcbmV4cG9ydCB7IEZlZGVyYXRlZFNpZ25JbkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vZmVkZXJhdGVkLXNpZ24taW4tYnV0dG9uL2ZlZGVyYXRlZC1zaWduLWluLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0IHsgRmVkZXJhdGVkU2lnbkluQ29tcG9uZW50IH0gZnJvbSAnLi9mZWRlcmF0ZWQtc2lnbi1pbi9mZWRlcmF0ZWQtc2lnbi1pbi5jb21wb25lbnQnO1xuZXhwb3J0IHsgRm9yY2VOZXdQYXNzd29yZENvbXBvbmVudCB9IGZyb20gJy4vZm9yY2UtbmV3LXBhc3N3b3JkL2ZvcmNlLW5ldy1wYXNzd29yZC5jb21wb25lbnQnO1xuZXhwb3J0IHsgRm9ybUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50JztcbmV4cG9ydCB7IFJlc2V0UGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuL3Jlc2V0LXBhc3N3b3JkL3Jlc2V0LXBhc3N3b3JkLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTZXR1cFRvdHBDb21wb25lbnQgfSBmcm9tICcuL3NldHVwLXRvdHAvc2V0dXAtdG90cC5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2lnbkluQ29tcG9uZW50IH0gZnJvbSAnLi9zaWduLWluL3NpZ24taW4uY29tcG9uZW50JztcbmV4cG9ydCB7IFNpZ25VcENvbXBvbmVudCB9IGZyb20gJy4vc2lnbi11cC9zaWduLXVwLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTaWduVXBGb3JtRmllbGRzQ29tcG9uZW50IH0gZnJvbSAnLi9zaWduLXVwL3NpZ24tdXAtZm9ybS1maWVsZHMvc2lnbi11cC1mb3JtLWZpZWxkcy5jb21wb25lbnQnO1xuZXhwb3J0IHsgVXNlck5hbWVBbGlhc0NvbXBvbmVudCB9IGZyb20gJy4vdXNlci1uYW1lLWFsaWFzL3VzZXItbmFtZS1hbGlhcy5jb21wb25lbnQnO1xuZXhwb3J0IHsgRm9yY2VOZXdQYXNzd29yZEZvcm1GaWVsZHNDb21wb25lbnQgfSBmcm9tICcuL2ZvcmNlLW5ldy1wYXNzd29yZC9mb3JjZS1uZXctcGFzc3dvcmQtZm9ybS1maWVsZHMvZm9yY2UtbmV3LXBhc3N3b3JkLWZvcm0tZmllbGRzLmNvbXBvbmVudCc7XG5leHBvcnQgeyBWZXJpZnlVc2VyQ29tcG9uZW50IH0gZnJvbSAnLi92ZXJpZnktdXNlci92ZXJpZnktdXNlci5jb21wb25lbnQnO1xuIl19
|
|
@@ -12,6 +12,8 @@ export class SetupTotpComponent {
|
|
|
12
12
|
this.dataAttr = '';
|
|
13
13
|
this.headerText = translate('Setup TOTP');
|
|
14
14
|
this.qrCodeSource = '';
|
|
15
|
+
this.secretKey = '';
|
|
16
|
+
this.copyTextLabel = translate('COPY');
|
|
15
17
|
// translated texts
|
|
16
18
|
this.backToSignInText = translate('Back to Sign In');
|
|
17
19
|
this.confirmText = translate('Confirm');
|
|
@@ -29,9 +31,9 @@ export class SetupTotpComponent {
|
|
|
29
31
|
const actorContext = getActorContext(state);
|
|
30
32
|
const { user } = actorContext;
|
|
31
33
|
try {
|
|
32
|
-
|
|
34
|
+
this.secretKey = yield Auth.setupTOTP(user);
|
|
33
35
|
const issuer = 'AWSCognito';
|
|
34
|
-
const totpCode = `otpauth://totp/${issuer}:${user.username}?secret=${secretKey}&issuer=${issuer}`;
|
|
36
|
+
const totpCode = `otpauth://totp/${issuer}:${user.username}?secret=${this.secretKey}&issuer=${issuer}`;
|
|
35
37
|
logger.info('totp code was generated:', totpCode);
|
|
36
38
|
this.qrCodeSource = yield QRCode.toDataURL(totpCode);
|
|
37
39
|
}
|
|
@@ -49,11 +51,15 @@ export class SetupTotpComponent {
|
|
|
49
51
|
event.preventDefault();
|
|
50
52
|
this.authenticator.submitForm();
|
|
51
53
|
}
|
|
54
|
+
copyText() {
|
|
55
|
+
navigator.clipboard.writeText(this.secretKey);
|
|
56
|
+
this.copyTextLabel = translate('COPIED');
|
|
57
|
+
}
|
|
52
58
|
}
|
|
53
59
|
SetupTotpComponent.decorators = [
|
|
54
60
|
{ type: Component, args: [{
|
|
55
61
|
selector: 'amplify-setup-totp',
|
|
56
|
-
template: "<div data-amplify-container>\n <form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"setup-totp-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\">{{ this.headerText }}</h3>\n </amplify-slot>\n <p *ngIf=\"!qrCodeSource\">Loading...</p>\n <img\n *ngIf=\"qrCodeSource\"\n [src]=\"qrCodeSource\"\n alt=\"qr code\"\n data-amplify-qrcode\n width=\"228\"\n height=\"228\"\n />\n <amplify-form-field\n name=\"confirmation_code\"\n label=\"Code *\"\n type=\"text\"\n autocomplete=\"one-time-code\"\n ></amplify-form-field>\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ confirmText }}\n </button>\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.toSignIn()\"\n >\n {{ backToSignInText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot name=\"setup-totp-footer\" [context]=\"context\"> </amplify-slot>\n </form>\n</div>\n"
|
|
62
|
+
template: "<div data-amplify-container>\n <form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"setup-totp-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\">{{ this.headerText }}</h3>\n </amplify-slot>\n <p *ngIf=\"!qrCodeSource\">Loading...</p>\n <img\n *ngIf=\"qrCodeSource\"\n [src]=\"qrCodeSource\"\n alt=\"qr code\"\n data-amplify-qrcode\n width=\"228\"\n height=\"228\"\n />\n <div class=\"amplify-flex\" data-amplify-copy>\n <div>{{ secretKey }}</div>\n <div data-amplify-copy-svg (click)=\"copyText()\">\n <div data-amplify-copy-tooltip>{{ copyTextLabel }}</div>\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM15 5H8C6.9 5 6.01 5.9 6.01 7L6 21C6 22.1 6.89 23 7.99 23H19C20.1 23 21 22.1 21 21V11L15 5ZM8 21V7H14V12H19V21H8Z\"\n fill=\"black\"\n />\n </svg>\n </div>\n </div>\n\n <amplify-form-field\n name=\"confirmation_code\"\n label=\"Code *\"\n type=\"text\"\n autocomplete=\"one-time-code\"\n ></amplify-form-field>\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ confirmText }}\n </button>\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.toSignIn()\"\n >\n {{ backToSignInText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot name=\"setup-totp-footer\" [context]=\"context\"> </amplify-slot>\n </form>\n</div>\n"
|
|
57
63
|
},] }
|
|
58
64
|
];
|
|
59
65
|
SetupTotpComponent.ctorParameters = () => [
|
|
@@ -62,4 +68,4 @@ SetupTotpComponent.ctorParameters = () => [
|
|
|
62
68
|
SetupTotpComponent.propDecorators = {
|
|
63
69
|
dataAttr: [{ type: HostBinding, args: ['attr.data-amplify-authenticator-setup-totp',] }]
|
|
64
70
|
};
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAtdG90cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdXRoZW50aWNhdG9yL2NvbXBvbmVudHMvc2V0dXAtdG90cC9zZXR1cC10b3RwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQWlCLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTVDLE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBTXZDLE1BQU0sT0FBTyxrQkFBa0I7SUFXN0IsWUFBbUIsYUFBbUM7UUFBbkMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBVkssYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNsRSxlQUFVLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3JDLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixrQkFBYSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV6QyxtQkFBbUI7UUFDWixxQkFBZ0IsR0FBRyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNoRCxnQkFBVyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUVlLENBQUM7SUFFMUQsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7SUFDeEMsQ0FBQztJQUVLLGNBQWM7O1lBQ2xCLHdDQUF3QztZQUN4QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztZQUMzQyxNQUFNLFlBQVksR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFrQixDQUFDO1lBQzdELE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxZQUFZLENBQUM7WUFDOUIsSUFBSTtnQkFDRixJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDNUMsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDO2dCQUM1QixNQUFNLFFBQVEsR0FBRyxrQkFBa0IsTUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLFdBQVcsSUFBSSxDQUFDLFNBQVMsV0FBVyxNQUFNLEVBQUUsQ0FBQztnQkFFdkcsTUFBTSxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDbEQsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDdEQ7WUFBQyxPQUFPLEdBQUcsRUFBRTtnQkFDWixNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ25CO1FBQ0gsQ0FBQztLQUFBO0lBRUQsT0FBTyxDQUFDLEtBQVk7UUFDbEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQXFCLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDdkQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQVk7UUFDbkIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELFFBQVE7UUFDTixTQUFTLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0MsQ0FBQzs7O1lBeERGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsb0JBQW9CO2dCQUM5Qiw4b0VBQTBDO2FBQzNDOzs7WUFSUSxvQkFBb0I7Ozt1QkFVMUIsV0FBVyxTQUFDLDRDQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IFFSQ29kZSBmcm9tICdxcmNvZGUnO1xuaW1wb3J0IHsgQXV0aCwgTG9nZ2VyIH0gZnJvbSAnYXdzLWFtcGxpZnknO1xuaW1wb3J0IHsgZ2V0QWN0b3JDb250ZXh0LCBTaWduSW5Db250ZXh0IH0gZnJvbSAnQGF3cy1hbXBsaWZ5L3VpJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ0Bhd3MtYW1wbGlmeS91aSc7XG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoJ1NldHVwVG90cCcpO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbXBsaWZ5LXNldHVwLXRvdHAnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2V0dXAtdG90cC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFNldHVwVG90cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWFtcGxpZnktYXV0aGVudGljYXRvci1zZXR1cC10b3RwJykgZGF0YUF0dHIgPSAnJztcbiAgcHVibGljIGhlYWRlclRleHQgPSB0cmFuc2xhdGUoJ1NldHVwIFRPVFAnKTtcbiAgcHVibGljIHFyQ29kZVNvdXJjZSA9ICcnO1xuICBwdWJsaWMgc2VjcmV0S2V5ID0gJyc7XG4gIHB1YmxpYyBjb3B5VGV4dExhYmVsID0gdHJhbnNsYXRlKCdDT1BZJyk7XG5cbiAgLy8gdHJhbnNsYXRlZCB0ZXh0c1xuICBwdWJsaWMgYmFja1RvU2lnbkluVGV4dCA9IHRyYW5zbGF0ZSgnQmFjayB0byBTaWduIEluJyk7XG4gIHB1YmxpYyBjb25maXJtVGV4dCA9IHRyYW5zbGF0ZSgnQ29uZmlybScpO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBhdXRoZW50aWNhdG9yOiBBdXRoZW50aWNhdG9yU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmdlbmVyYXRlUVJDb2RlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aGVudGljYXRvci5zbG90Q29udGV4dDtcbiAgfVxuXG4gIGFzeW5jIGdlbmVyYXRlUVJDb2RlKCkge1xuICAgIC8vIFRPRE86IFRoaXMgc2hvdWxkIGJlIGhhbmRsZWQgaW4gY29yZS5cbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuYXV0aGVudGljYXRvci5hdXRoU3RhdGU7XG4gICAgY29uc3QgYWN0b3JDb250ZXh0ID0gZ2V0QWN0b3JDb250ZXh0KHN0YXRlKSBhcyBTaWduSW5Db250ZXh0O1xuICAgIGNvbnN0IHsgdXNlciB9ID0gYWN0b3JDb250ZXh0O1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnNlY3JldEtleSA9IGF3YWl0IEF1dGguc2V0dXBUT1RQKHVzZXIpO1xuICAgICAgY29uc3QgaXNzdWVyID0gJ0FXU0NvZ25pdG8nO1xuICAgICAgY29uc3QgdG90cENvZGUgPSBgb3RwYXV0aDovL3RvdHAvJHtpc3N1ZXJ9OiR7dXNlci51c2VybmFtZX0/c2VjcmV0PSR7dGhpcy5zZWNyZXRLZXl9Jmlzc3Vlcj0ke2lzc3Vlcn1gO1xuXG4gICAgICBsb2dnZXIuaW5mbygndG90cCBjb2RlIHdhcyBnZW5lcmF0ZWQ6JywgdG90cENvZGUpO1xuICAgICAgdGhpcy5xckNvZGVTb3VyY2UgPSBhd2FpdCBRUkNvZGUudG9EYXRhVVJMKHRvdHBDb2RlKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGxvZ2dlci5lcnJvcihlcnIpO1xuICAgIH1cbiAgfVxuXG4gIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBjb25zdCB7IG5hbWUsIHZhbHVlIH0gPSA8SFRNTElucHV0RWxlbWVudD5ldmVudC50YXJnZXQ7XG4gICAgdGhpcy5hdXRoZW50aWNhdG9yLnVwZGF0ZUZvcm0oeyBuYW1lLCB2YWx1ZSB9KTtcbiAgfVxuXG4gIG9uU3VibWl0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5hdXRoZW50aWNhdG9yLnN1Ym1pdEZvcm0oKTtcbiAgfVxuXG4gIGNvcHlUZXh0KCk6IHZvaWQge1xuICAgIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHRoaXMuc2VjcmV0S2V5KTtcbiAgICB0aGlzLmNvcHlUZXh0TGFiZWwgPSB0cmFuc2xhdGUoJ0NPUElFRCcpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
import { Component, HostBinding, ViewEncapsulation
|
|
1
|
+
import { Component, HostBinding, ViewEncapsulation } from '@angular/core';
|
|
2
2
|
import { AuthenticatorService } from '../../../../services/authenticator.service';
|
|
3
|
-
import { translate } from '@aws-amplify/ui';
|
|
3
|
+
import { translate, hasTranslation } from '@aws-amplify/ui';
|
|
4
4
|
export class SignInComponent {
|
|
5
5
|
constructor(authenticator) {
|
|
6
6
|
this.authenticator = authenticator;
|
|
7
7
|
this.dataAttr = '';
|
|
8
8
|
// translated phrases
|
|
9
|
-
|
|
9
|
+
// Support backwards compatibility for legacy key with trailing space
|
|
10
|
+
this.forgotPasswordText = !hasTranslation('Forgot your password? ')
|
|
11
|
+
? translate('Forgot your password?')
|
|
12
|
+
: translate('Forgot your password? ');
|
|
10
13
|
this.signInButtonText = translate('Sign in');
|
|
11
14
|
}
|
|
12
15
|
get context() {
|
|
@@ -35,4 +38,4 @@ SignInComponent.ctorParameters = () => [
|
|
|
35
38
|
SignInComponent.propDecorators = {
|
|
36
39
|
dataAttr: [{ type: HostBinding, args: ['attr.data-amplify-authenticator-signin',] }]
|
|
37
40
|
};
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi1pbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdXRoZW50aWNhdG9yL2NvbXBvbmVudHMvc2lnbi1pbi9zaWduLWluLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBTzVELE1BQU0sT0FBTyxlQUFlO0lBVTFCLFlBQW1CLGFBQW1DO1FBQW5DLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQVRDLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFFckUscUJBQXFCO1FBQ3JCLHFFQUFxRTtRQUM5RCx1QkFBa0IsR0FBRyxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQztZQUNuRSxDQUFDLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDO1lBQ3BDLENBQUMsQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUNqQyxxQkFBZ0IsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFVSxDQUFDO0lBRTFELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBWTtRQUNsQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBcUIsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUN2RCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxRQUFRLENBQUMsS0FBWTtRQUNuQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNsQyxDQUFDOzs7WUE5QkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLCswQ0FBdUM7Z0JBQ3ZDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUFQUSxvQkFBb0I7Ozt1QkFTMUIsV0FBVyxTQUFDLHdDQUF3QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdG9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyB0cmFuc2xhdGUsIGhhc1RyYW5zbGF0aW9uIH0gZnJvbSAnQGF3cy1hbXBsaWZ5L3VpJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW1wbGlmeS1zaWduLWluJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZ24taW4uY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBTaWduSW5Db21wb25lbnQge1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1hbXBsaWZ5LWF1dGhlbnRpY2F0b3Itc2lnbmluJykgZGF0YUF0dHIgPSAnJztcblxuICAvLyB0cmFuc2xhdGVkIHBocmFzZXNcbiAgLy8gU3VwcG9ydCBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBmb3IgbGVnYWN5IGtleSB3aXRoIHRyYWlsaW5nIHNwYWNlXG4gIHB1YmxpYyBmb3Jnb3RQYXNzd29yZFRleHQgPSAhaGFzVHJhbnNsYXRpb24oJ0ZvcmdvdCB5b3VyIHBhc3N3b3JkPyAnKVxuICAgID8gdHJhbnNsYXRlKCdGb3Jnb3QgeW91ciBwYXNzd29yZD8nKVxuICAgIDogdHJhbnNsYXRlKCdGb3Jnb3QgeW91ciBwYXNzd29yZD8gJyk7XG4gIHB1YmxpYyBzaWduSW5CdXR0b25UZXh0ID0gdHJhbnNsYXRlKCdTaWduIGluJyk7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGF1dGhlbnRpY2F0b3I6IEF1dGhlbnRpY2F0b3JTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBnZXQgY29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5hdXRoZW50aWNhdG9yLnNsb3RDb250ZXh0O1xuICB9XG5cbiAgb25JbnB1dChldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGNvbnN0IHsgbmFtZSwgdmFsdWUgfSA9IDxIVE1MSW5wdXRFbGVtZW50PmV2ZW50LnRhcmdldDtcbiAgICB0aGlzLmF1dGhlbnRpY2F0b3IudXBkYXRlRm9ybSh7IG5hbWUsIHZhbHVlIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmF1dGhlbnRpY2F0b3Iuc3VibWl0Rm9ybSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { Logger } from '@aws-amplify/core';
|
|
3
|
-
import { createAuthenticatorMachine, getSendEventAliases, getServiceContextFacade, } from '@aws-amplify/ui';
|
|
3
|
+
import { createAuthenticatorMachine, getSendEventAliases, getServiceContextFacade, listenToAuthHub, } from '@aws-amplify/ui';
|
|
4
4
|
import { interpret } from 'xstate';
|
|
5
5
|
import { translate } from '@aws-amplify/ui';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
@@ -10,26 +10,31 @@ const logger = new Logger('state-machine');
|
|
|
10
10
|
*/
|
|
11
11
|
export class AuthenticatorService {
|
|
12
12
|
startMachine({ initialState, loginMechanisms, services, signUpAttributes, socialProviders, }) {
|
|
13
|
-
const machine = createAuthenticatorMachine(
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
const machine = createAuthenticatorMachine();
|
|
14
|
+
const authService = interpret(machine).start();
|
|
15
|
+
authService.send({
|
|
16
|
+
type: 'INIT',
|
|
17
|
+
data: {
|
|
18
|
+
initialState,
|
|
19
|
+
loginMechanisms,
|
|
20
|
+
socialProviders,
|
|
21
|
+
signUpAttributes,
|
|
22
|
+
services,
|
|
23
|
+
},
|
|
19
24
|
});
|
|
20
|
-
|
|
21
|
-
devTools: process.env.NODE_ENV === 'development',
|
|
22
|
-
}).start();
|
|
23
|
-
this._subscription = authService.subscribe((state) => {
|
|
25
|
+
this._machineSubscription = authService.subscribe((state) => {
|
|
24
26
|
this._authState = state;
|
|
25
27
|
this._facade = getServiceContextFacade(state);
|
|
26
28
|
});
|
|
29
|
+
this._hubSubscription = listenToAuthHub(authService.send);
|
|
27
30
|
this._sendEventAliases = getSendEventAliases(authService.send);
|
|
28
31
|
this._authService = authService;
|
|
29
32
|
}
|
|
30
33
|
ngOnDestroy() {
|
|
31
|
-
if (this.
|
|
32
|
-
this.
|
|
34
|
+
if (this._machineSubscription)
|
|
35
|
+
this._machineSubscription.unsubscribe();
|
|
36
|
+
if (this._hubSubscription)
|
|
37
|
+
this._hubSubscription();
|
|
33
38
|
}
|
|
34
39
|
/**
|
|
35
40
|
* Context facades
|
|
@@ -138,4 +143,4 @@ AuthenticatorService.decorators = [
|
|
|
138
143
|
providedIn: 'root',
|
|
139
144
|
},] }
|
|
140
145
|
];
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL2F1dGhlbnRpY2F0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQyxPQUFPLEVBTUwsMEJBQTBCLEVBQzFCLG1CQUFtQixFQUNuQix1QkFBdUIsR0FFeEIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQVMsU0FBUyxFQUFnQixNQUFNLFFBQVEsQ0FBQztBQUV4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRTVDLE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBRTNDOztHQUVHO0FBSUgsTUFBTSxPQUFPLG9CQUFvQjtJQU94QixZQUFZLENBQUMsRUFDbEIsWUFBWSxFQUNaLGVBQWUsRUFDZixRQUFRLEVBQ1IsZ0JBQWdCLEVBQ2hCLGVBQWUsR0FDYTtRQUM1QixNQUFNLE9BQU8sR0FBRywwQkFBMEIsQ0FBQztZQUN6QyxZQUFZO1lBQ1osZUFBZTtZQUNmLFFBQVE7WUFDUixnQkFBZ0I7WUFDaEIsZUFBZTtTQUNoQixDQUFDLENBQUM7UUFFSCxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsT0FBTyxFQUFFO1lBQ3JDLFFBQVEsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsS0FBSyxhQUFhO1NBQ2pELENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVYLElBQUksQ0FBQyxhQUFhLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25ELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxD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QUFDLE9BQU8sR0FDWixJQUFJLENBQUMsaUJBQWlCLENBQzFCLENBQUM7UUFFRix1Q0FDSyxXQUFXLEtBQ2QsU0FBUyxvQkFBTyxXQUFXLEtBQzNCO0lBQ0osQ0FBQztJQUVELHdDQUF3QztJQUNqQyxTQUFTLENBQUMsUUFBa0M7UUFDakQsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDOUM7YUFBTTtZQUNMLE1BQU0sQ0FBQyxLQUFLLENBQ1YsdUhBQXVILENBQ3hILENBQUM7U0FDSDtJQUNILENBQUM7SUFFRCx3Q0FBd0M7SUFDakMsSUFBSSxDQUFDLEtBQXVCO1FBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7Ozs7WUF4S0YsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2dnZXIgfSBmcm9tICdAYXdzLWFtcGxpZnkvY29yZSc7XG5pbXBvcnQge1xuICBBdXRoQ29udGV4dCxcbiAgQXV0aGVudGljYXRvck1hY2hpbmVPcHRpb25zLFxuICBBdXRoRXZlbnQsXG4gIEF1dGhJbnRlcnByZXRlcixcbiAgQXV0aE1hY2hpbmVTdGF0ZSxcbiAgY3JlYXRlQXV0aGVudGljYXRvck1hY2hpbmUsXG4gIGdldFNlbmRFdmVudEFsaWFzZXMsXG4gIGdldFNlcnZpY2VDb250ZXh0RmFjYWRlLFxuICBnZXRTZXJ2aWNlRmFjYWRlLFxufSBmcm9tICdAYXdzLWFtcGxpZnkvdWknO1xuaW1wb3J0IHsgRXZlbnQsIGludGVycHJldCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAneHN0YXRlJztcbmltcG9ydCB7IEF1dGhTdWJzY3JpcHRpb25DYWxsYmFjayB9IGZyb20gJy4uL2NvbW1vbic7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdAYXdzLWFtcGxpZnkvdWknO1xuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKCdzdGF0ZS1tYWNoaW5lJyk7XG5cbi8qKlxuICogQXV0aGVudGljYXRvclNlcnZpY2UgcHJvdmlkZXMgYWNjZXNzIHRvIHRoZSBhdXRoZW50aWNhdG9yIHN0YXRlIGFuZCBjb250ZXh0LlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290JywgLy8gZW5zdXJlIHdlIGhhdmUgYSBzaW5nbGV0b24gc2VydmljZVxufSlcbmV4cG9ydCBjbGFzcyBBdXRoZW50aWNhdG9yU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX2F1dGhTdGF0ZTogQXV0aE1hY2hpbmVTdGF0ZTtcbiAgcHJpdmF0ZSBfYXV0aFNlcnZpY2U6IEF1dGhJbnRlcnByZXRlcjtcbiAgcHJpdmF0ZSBfc2VuZEV2ZW50QWxpYXNlczogUmV0dXJuVHlwZTx0eXBlb2YgZ2V0U2VuZEV2ZW50QWxpYXNlcz47XG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF9mYWNhZGU6IFJldHVyblR5cGU8dHlwZW9mIGdldFNlcnZpY2VDb250ZXh0RmFjYWRlPjtcblxuICBwdWJsaWMgc3RhcnRNYWNoaW5lKHtcbiAgICBpbml0aWFsU3RhdGUsXG4gICAgbG9naW5NZWNoYW5pc21zLFxuICAgIHNlcnZpY2VzLFxuICAgIHNpZ25VcEF0dHJpYnV0ZXMsXG4gICAgc29jaWFsUHJvdmlkZXJzLFxuICB9OiBBdXRoZW50aWNhdG9yTWFjaGluZU9wdGlvbnMpIHtcbiAgICBjb25zdCBtYWNoaW5lID0gY3JlYXRlQXV0aGVudGljYXRvck1hY2hpbmUoe1xuICAgICAgaW5pdGlhbFN0YXRlLFxuICAgICAgbG9naW5NZWNoYW5pc21zLFxuICAgICAgc2VydmljZXMsXG4gICAgICBzaWduVXBBdHRyaWJ1dGVzLFxuICAgICAgc29jaWFsUHJvdmlkZXJzLFxuICAgIH0pO1xuXG4gICAgY29uc3QgYXV0aFNlcnZpY2UgPSBpbnRlcnByZXQobWFjaGluZSwge1xuICAgICAgZGV2VG9vbHM6IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAnZGV2ZWxvcG1lbnQnLFxuICAgIH0pLnN0YXJ0KCk7XG5cbiAgICB0aGlzLl9zdWJzY3JpcHRpb24gPSBhdXRoU2VydmljZS5zdWJzY3JpYmUoKHN0YXRlKSA9PiB7XG4gICAgICB0aGlzLl9hdXRoU3RhdGUgPSBzdGF0ZTtcbiAgICAgIHRoaXMuX2ZhY2FkZSA9IGdldFNlcnZpY2VDb250ZXh0RmFjYWRlKHN0YXRlKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX3NlbmRFdmVudEFsaWFzZXMgPSBnZXRTZW5kRXZlbnRBbGlhc2VzKGF1dGhTZXJ2aWNlLnNlbmQpO1xuICAgIHRoaXMuX2F1dGhTZXJ2aWNlID0gYXV0aFNlcnZpY2U7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc3Vic2NyaXB0aW9uKSB0aGlzLl9zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb250ZXh0IGZhY2FkZXNcbiAgICovXG5cbiAgcHVibGljIGdldCBlcnJvcigpIHtcbiAgICByZXR1cm4gdHJhbnNsYXRlKHRoaXMuX2ZhY2FkZT8uZXJyb3IpO1xuICB9XG5cbiAgcHVibGljIGdldCBoYXNWYWxpZGF0aW9uRXJyb3JzKCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGU/Lmhhc1ZhbGlkYXRpb25FcnJvcnM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzUGVuZGluZygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy5pc1BlbmRpbmc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJvdXRlKCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGU/LnJvdXRlO1xuICB9XG5cbiAgcHVibGljIGdldCB1c2VyKCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGU/LnVzZXI7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbGlkYXRpb25FcnJvcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZT8udmFsaWRhdGlvbkVycm9ycztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29kZURlbGl2ZXJ5RGV0YWlscygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy5jb2RlRGVsaXZlcnlEZXRhaWxzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlcnZpY2UgZmFjYWRlc1xuICAgKi9cblxuICBwdWJsaWMgZ2V0IHVwZGF0ZUZvcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbmRFdmVudEFsaWFzZXMudXBkYXRlRm9ybTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdXBkYXRlQmx1cigpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VuZEV2ZW50QWxpYXNlcy51cGRhdGVCbHVyO1xuICB9XG5cbiAgcHVibGljIGdldCByZXNlbmRDb2RlKCkge1xuICAgIHJldHVybiB0aGlzLl9zZW5kRXZlbnRBbGlhc2VzLnJlc2VuZENvZGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNpZ25PdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbmRFdmVudEFsaWFzZXMuc2lnbk91dDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3VibWl0Rm9ybSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VuZEV2ZW50QWxpYXNlcy5zdWJtaXRGb3JtO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zaXRpb24gZmFjYWRlc1xuICAgKi9cblxuICBwdWJsaWMgZ2V0IHRvRmVkZXJhdGVkU2lnbkluKCkge1xuICAgIHJldHVybiB0aGlzLl9zZW5kRXZlbnRBbGlhc2VzLnRvRmVkZXJhdGVkU2lnbkluO1xuICB9XG5cbiAgcHVibGljIGdldCB0b1Jlc2V0UGFzc3dvcmQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbmRFdmVudEFsaWFzZXMudG9SZXNldFBhc3N3b3JkO1xuICB9XG5cbiAgcHVibGljIGdldCB0b1NpZ25JbigpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VuZEV2ZW50QWxpYXNlcy50b1NpZ25JbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdG9TaWduVXAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbmRFdmVudEFsaWFzZXMudG9TaWduVXA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNraXBWZXJpZmljYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbmRFdmVudEFsaWFzZXMuc2tpcFZlcmlmaWNhdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbnRlcm5hbCB1dGlsaXR5IGZ1bmN0aW9uc1xuICAgKi9cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBnZXQgYXV0aFN0YXRlKCk6IEF1dGhNYWNoaW5lU3RhdGUge1xuICAgIHJldHVybiB0aGlzLl9hdXRoU3RhdGU7XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBnZXQgYXV0aFNlcnZpY2UoKTogQXV0aEludGVycHJldGVyIHtcbiAgICByZXR1cm4gdGhpcy5fYXV0aFNlcnZpY2U7XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBnZXQgY29udGV4dCgpOiBBdXRoQ29udGV4dCB7XG4gICAgcmV0dXJuIHRoaXMuX2F1dGhTdGF0ZS5jb250ZXh0O1xuICB9XG5cbiAgLyoqIEBkZXByZWNhdGVkIEZvciBpbnRlcm5hbCB1c2Ugb25seSAqL1xuICBwdWJsaWMgZ2V0IHNsb3RDb250ZXh0KCkge1xuICAgIGNvbnN0IHNsb3RDb250ZXh0ID0ge1xuICAgICAgLi4udGhpcy5fZmFjYWRlLFxuICAgICAgLi4udGhpcy5fc2VuZEV2ZW50QWxpYXNlcyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnNsb3RDb250ZXh0LFxuICAgICAgJGltcGxpY2l0OiB7IC4uLnNsb3RDb250ZXh0IH0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBAZGVwcmVjYXRlZCBGb3IgaW50ZXJuYWwgdXNlIG9ubHkgKi9cbiAgcHVibGljIHN1YnNjcmliZShjYWxsYmFjazogQXV0aFN1YnNjcmlwdGlvbkNhbGxiYWNrKSB7XG4gICAgaWYgKHRoaXMuX2F1dGhTZXJ2aWNlKSB7XG4gICAgICByZXR1cm4gdGhpcy5fYXV0aFNlcnZpY2Uuc3Vic2NyaWJlKGNhbGxiYWNrKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9nZ2VyLmVycm9yKFxuICAgICAgICAnU3Vic2NyaXB0aW9uIGF0dGVtcHRlZCBiZWZvcmUgbWFjaGluZSB3YXMgY3JlYXRlZC4gVGhpcyBpcyBsaWtlbHkgYSBidWcgb24gdGhlIGxpYnJhcnksIHBsZWFzZSBjb25zaWRlciBmaWxpbmcgYSBidWcuJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBzZW5kKGV2ZW50OiBFdmVudDxBdXRoRXZlbnQ+KSB7XG4gICAgdGhpcy5hdXRoU2VydmljZS5zZW5kKGV2ZW50KTtcbiAgfVxufVxuIl19
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL2F1dGhlbnRpY2F0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQyxPQUFPLEVBTUwsMEJBQTBCLEVBQzFCLG1CQUFtQixFQUNuQix1QkFBdUIsRUFDdkIsZUFBZSxHQUNoQixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBUyxTQUFTLEVBQWdCLE1BQU0sUUFBUSxDQUFDO0FBRXhELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFNUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7QUFFM0M7O0dBRUc7QUFJSCxNQUFNLE9BQU8sb0JBQW9CO0lBUXhCLFlBQVksQ0FBQyxFQUNsQixZQUFZLEVBQ1osZUFBZSxFQUNmLFFBQVEsRUFDUixnQkFBZ0IsRUFDaEIsZUFBZSxHQUNhO1FBQzVCLE1BQU0sT0FBTyxHQUFHLDBCQUEwQixFQUFFLENBQUM7UUFFN0MsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRS9DLFdBQVcsQ0FBQyxJQUFJLENBQUM7WUFDZixJQUFJLEVBQUUsTUFBTTtZQUNaLElBQUksRUFBRTtnQkFDSixZQUFZO2dCQUNaLGVBQWU7Z0JBQ2YsZUFBZTtnQkFDZixnQkFBZ0I7Z0JBQ2hCLFFBQVE7YUFDVDtTQUNGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxvQkFBb0IsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDMUQs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LENBQUM7SUFDM0IsQ0FBQztJQUVELHdDQUF3QztJQUN4QyxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztJQUNqQyxDQUFDO0lBRUQsd0NBQXdDO0lBQ3hDLElBQVcsV0FBVztRQUNwQixNQUFNLFdBQVcsbUNBQ1osSUFBSSxDQUFDLE9BQU8sR0FDWixJQUFJLENBQUMsaUJBQWlCLENBQzFCLENBQUM7UUFFRix1Q0FDSyxXQUFXLEtBQ2QsU0FBUyxvQkFBTyxXQUFXLEtBQzNCO0lBQ0osQ0FBQztJQUVELHdDQUF3QztJQUNqQyxTQUFTLENBQUMsUUFBa0M7UUFDakQsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDOUM7YUFBTTtZQUNMLE1BQU0sQ0FBQyxLQUFLLENBQ1YsdUhBQXVILENBQ3hILENBQUM7U0FDSDtJQUNILENBQUM7SUFFRCx3Q0FBd0M7SUFDakMsSUFBSSxDQUFDLEtBQXVCO1FBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7Ozs7WUE5S0YsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2dnZXIgfSBmcm9tICdAYXdzLWFtcGxpZnkvY29yZSc7XG5pbXBvcnQge1xuICBBdXRoQ29udGV4dCxcbiAgQXV0aGVudGljYXRvck1hY2hpbmVPcHRpb25zLFxuICBBdXRoRXZlbnQsXG4gIEF1dGhJbnRlcnByZXRlcixcbiAgQXV0aE1hY2hpbmVTdGF0ZSxcbiAgY3JlYXRlQXV0aGVudGljYXRvck1hY2hpbmUsXG4gIGdldFNlbmRFdmVudEFsaWFzZXMsXG4gIGdldFNlcnZpY2VDb250ZXh0RmFjYWRlLFxuICBsaXN0ZW5Ub0F1dGhIdWIsXG59IGZyb20gJ0Bhd3MtYW1wbGlmeS91aSc7XG5pbXBvcnQgeyBFdmVudCwgaW50ZXJwcmV0LCBTdWJzY3JpcHRpb24gfSBmcm9tICd4c3RhdGUnO1xuaW1wb3J0IHsgQXV0aFN1YnNjcmlwdGlvbkNhbGxiYWNrIH0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ0Bhd3MtYW1wbGlmeS91aSc7XG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoJ3N0YXRlLW1hY2hpbmUnKTtcblxuLyoqXG4gKiBBdXRoZW50aWNhdG9yU2VydmljZSBwcm92aWRlcyBhY2Nlc3MgdG8gdGhlIGF1dGhlbnRpY2F0b3Igc3RhdGUgYW5kIGNvbnRleHQuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLCAvLyBlbnN1cmUgd2UgaGF2ZSBhIHNpbmdsZXRvbiBzZXJ2aWNlXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhlbnRpY2F0b3JTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfYXV0aFN0YXRlOiBBdXRoTWFjaGluZVN0YXRlO1xuICBwcml2YXRlIF9hdXRoU2VydmljZTogQXV0aEludGVycHJldGVyO1xuICBwcml2YXRlIF9zZW5kRXZlbnRBbGlhc2VzOiBSZXR1cm5UeXBlPHR5cGVvZiBnZXRTZW5kRXZlbnRBbGlhc2VzPjtcbiAgcHJpdmF0ZSBfbWFjaGluZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF9odWJTdWJzY3JpcHRpb246IFJldHVyblR5cGU8dHlwZW9mIGxpc3RlblRvQXV0aEh1Yj47XG4gIHByaXZhdGUgX2ZhY2FkZTogUmV0dXJuVHlwZTx0eXBlb2YgZ2V0U2VydmljZUNvbnRleHRGYWNhZGU+O1xuXG4gIHB1YmxpYyBzdGFydE1hY2hpbmUoe1xuICAgIGluaXRpYWxTdGF0ZSxcbiAgICBsb2dpbk1lY2hhbmlzbXMsXG4gICAgc2VydmljZXMsXG4gICAgc2lnblVwQXR0cmlidXRlcyxcbiAgICBzb2NpYWxQcm92aWRlcnMsXG4gIH06IEF1dGhlbnRpY2F0b3JNYWNoaW5lT3B0aW9ucykge1xuICAgIGNvbnN0IG1hY2hpbmUgPSBjcmVhdGVBdXRoZW50aWNhdG9yTWFjaGluZSgpO1xuXG4gICAgY29uc3QgYXV0aFNlcnZpY2UgPSBpbnRlcnByZXQobWFjaGluZSkuc3RhcnQoKTtcblxuICAgIGF1dGhTZXJ2aWNlLnNlbmQoe1xuICAgICAgdHlwZTogJ0lOSVQnLFxuICAgICAgZGF0YToge1xuICAgICAgICBpbml0aWFsU3RhdGUsXG4gICAgICAgIGxvZ2luTWVjaGFuaXNtcyxcbiAgICAgICAgc29jaWFsUHJvdmlkZXJzLFxuICAgICAgICBzaWduVXBBdHRyaWJ1dGVzLFxuICAgICAgICBzZXJ2aWNlcyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLl9tYWNoaW5lU3Vic2NyaXB0aW9uID0gYXV0aFNlcnZpY2Uuc3Vic2NyaWJlKChzdGF0ZSkgPT4ge1xuICAgICAgdGhpcy5fYXV0aFN0YXRlID0gc3RhdGU7XG4gICAgICB0aGlzLl9mYWNhZGUgPSBnZXRTZXJ2aWNlQ29udGV4dEZhY2FkZShzdGF0ZSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9odWJTdWJzY3JpcHRpb24gPSBsaXN0ZW5Ub0F1dGhIdWIoYXV0aFNlcnZpY2Uuc2VuZCk7XG4gICAgdGhpcy5fc2VuZEV2ZW50QWxpYXNlcyA9IGdldFNlbmRFdmVudEFsaWFzZXMoYXV0aFNlcnZpY2Uuc2VuZCk7XG4gICAgdGhpcy5fYXV0aFNlcnZpY2UgPSBhdXRoU2VydmljZTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9tYWNoaW5lU3Vic2NyaXB0aW9uKSB0aGlzLl9tYWNoaW5lU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgaWYgKHRoaXMuX2h1YlN1YnNjcmlwdGlvbikgdGhpcy5faHViU3Vic2NyaXB0aW9uKCk7XG4gIH1cblxuICAvKipcbiAgICogQ29udGV4dCBmYWNhZGVzXG4gICAqL1xuXG4gIHB1YmxpYyBnZXQgZXJyb3IoKSB7XG4gICAgcmV0dXJuIHRyYW5zbGF0ZSh0aGlzLl9mYWNhZGU/LmVycm9yKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzVmFsaWRhdGlvbkVycm9ycygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy5oYXNWYWxpZGF0aW9uRXJyb3JzO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1BlbmRpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZT8uaXNQZW5kaW5nO1xuICB9XG5cbiAgcHVibGljIGdldCByb3V0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy5yb3V0ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdXNlcigpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy51c2VyO1xuICB9XG5cbiAgcHVibGljIGdldCB2YWxpZGF0aW9uRXJyb3JzKCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGU/LnZhbGlkYXRpb25FcnJvcnM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvZGVEZWxpdmVyeURldGFpbHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZT8uY29kZURlbGl2ZXJ5RGV0YWlscztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXJ2aWNlIGZhY2FkZXNcbiAgICovXG5cbiAgcHVibGljIGdldCB1cGRhdGVGb3JtKCkge1xuICAgIHJldHVybiB0aGlzLl9zZW5kRXZlbnRBbGlhc2VzLnVwZGF0ZUZvcm07XG4gIH1cblxuICBwdWJsaWMgZ2V0IHVwZGF0ZUJsdXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbmRFdmVudEFsaWFzZXMudXBkYXRlQmx1cjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVzZW5kQ29kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VuZEV2ZW50QWxpYXNlcy5yZXNlbmRDb2RlO1xuICB9XG5cbiAgcHVibGljIGdldCBzaWduT3V0KCkge1xuICAgIHJldHVybiB0aGlzLl9zZW5kRXZlbnRBbGlhc2VzLnNpZ25PdXQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN1Ym1pdEZvcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbmRFdmVudEFsaWFzZXMuc3VibWl0Rm9ybTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2l0aW9uIGZhY2FkZXNcbiAgICovXG5cbiAgcHVibGljIGdldCB0b0ZlZGVyYXRlZFNpZ25JbigpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VuZEV2ZW50QWxpYXNlcy50b0ZlZGVyYXRlZFNpZ25JbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdG9SZXNldFBhc3N3b3JkKCkge1xuICAgIHJldHVybiB0aGlzLl9zZW5kRXZlbnRBbGlhc2VzLnRvUmVzZXRQYXNzd29yZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdG9TaWduSW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbmRFdmVudEFsaWFzZXMudG9TaWduSW47XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRvU2lnblVwKCkge1xuICAgIHJldHVybiB0aGlzLl9zZW5kRXZlbnRBbGlhc2VzLnRvU2lnblVwO1xuICB9XG5cbiAgcHVibGljIGdldCBza2lwVmVyaWZpY2F0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLl9zZW5kRXZlbnRBbGlhc2VzLnNraXBWZXJpZmljYXRpb247XG4gIH1cblxuICAvKipcbiAgICogSW50ZXJuYWwgdXRpbGl0eSBmdW5jdGlvbnNcbiAgICovXG5cbiAgLyoqIEBkZXByZWNhdGVkIEZvciBpbnRlcm5hbCB1c2Ugb25seSAqL1xuICBwdWJsaWMgZ2V0IGF1dGhTdGF0ZSgpOiBBdXRoTWFjaGluZVN0YXRlIHtcbiAgICByZXR1cm4gdGhpcy5fYXV0aFN0YXRlO1xuICB9XG5cbiAgLyoqIEBkZXByZWNhdGVkIEZvciBpbnRlcm5hbCB1c2Ugb25seSAqL1xuICBwdWJsaWMgZ2V0IGF1dGhTZXJ2aWNlKCk6IEF1dGhJbnRlcnByZXRlciB7XG4gICAgcmV0dXJuIHRoaXMuX2F1dGhTZXJ2aWNlO1xuICB9XG5cbiAgLyoqIEBkZXByZWNhdGVkIEZvciBpbnRlcm5hbCB1c2Ugb25seSAqL1xuICBwdWJsaWMgZ2V0IGNvbnRleHQoKTogQXV0aENvbnRleHQge1xuICAgIHJldHVybiB0aGlzLl9hdXRoU3RhdGUuY29udGV4dDtcbiAgfVxuXG4gIC8qKiBAZGVwcmVjYXRlZCBGb3IgaW50ZXJuYWwgdXNlIG9ubHkgKi9cbiAgcHVibGljIGdldCBzbG90Q29udGV4dCgpIHtcbiAgICBjb25zdCBzbG90Q29udGV4dCA9IHtcbiAgICAgIC4uLnRoaXMuX2ZhY2FkZSxcbiAgICAgIC4uLnRoaXMuX3NlbmRFdmVudEFsaWFzZXMsXG4gICAgfTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5zbG90Q29udGV4dCxcbiAgICAgICRpbXBsaWNpdDogeyAuLi5zbG90Q29udGV4dCB9LFxuICAgIH07XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBzdWJzY3JpYmUoY2FsbGJhY2s6IEF1dGhTdWJzY3JpcHRpb25DYWxsYmFjaykge1xuICAgIGlmICh0aGlzLl9hdXRoU2VydmljZSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2F1dGhTZXJ2aWNlLnN1YnNjcmliZShjYWxsYmFjayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvZ2dlci5lcnJvcihcbiAgICAgICAgJ1N1YnNjcmlwdGlvbiBhdHRlbXB0ZWQgYmVmb3JlIG1hY2hpbmUgd2FzIGNyZWF0ZWQuIFRoaXMgaXMgbGlrZWx5IGEgYnVnIG9uIHRoZSBsaWJyYXJ5LCBwbGVhc2UgY29uc2lkZXIgZmlsaW5nIGEgYnVnLidcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBkZXByZWNhdGVkIEZvciBpbnRlcm5hbCB1c2Ugb25seSAqL1xuICBwdWJsaWMgc2VuZChldmVudDogRXZlbnQ8QXV0aEV2ZW50Pikge1xuICAgIHRoaXMuYXV0aFNlcnZpY2Uuc2VuZChldmVudCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Directive, TemplateRef, Input, Injectable, Component, ViewEncapsulation, ContentChildren, HostBinding, EventEmitter, Output, NgModule } from '@angular/core';
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
|
-
import { createAuthenticatorMachine, getServiceContextFacade, getSendEventAliases, translate, getActorContext, AuthChallengeNames, FederatedIdentityProviders, authInputAttributes, countryDialCodes, getAliasInfoFromContext, getActorState } from '@aws-amplify/ui';
|
|
4
|
+
import { createAuthenticatorMachine, getServiceContextFacade, listenToAuthHub, getSendEventAliases, translate, getActorContext, AuthChallengeNames, FederatedIdentityProviders, authInputAttributes, countryDialCodes, getAliasInfoFromContext, hasTranslation, getActorState } from '@aws-amplify/ui';
|
|
5
5
|
import { Logger } from '@aws-amplify/core';
|
|
6
6
|
import { interpret } from 'xstate';
|
|
7
7
|
import { Logger as Logger$1, Auth } from 'aws-amplify';
|
|
@@ -56,26 +56,31 @@ const logger$2 = new Logger('state-machine');
|
|
|
56
56
|
*/
|
|
57
57
|
class AuthenticatorService {
|
|
58
58
|
startMachine({ initialState, loginMechanisms, services, signUpAttributes, socialProviders, }) {
|
|
59
|
-
const machine = createAuthenticatorMachine(
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
59
|
+
const machine = createAuthenticatorMachine();
|
|
60
|
+
const authService = interpret(machine).start();
|
|
61
|
+
authService.send({
|
|
62
|
+
type: 'INIT',
|
|
63
|
+
data: {
|
|
64
|
+
initialState,
|
|
65
|
+
loginMechanisms,
|
|
66
|
+
socialProviders,
|
|
67
|
+
signUpAttributes,
|
|
68
|
+
services,
|
|
69
|
+
},
|
|
65
70
|
});
|
|
66
|
-
|
|
67
|
-
devTools: process.env.NODE_ENV === 'development',
|
|
68
|
-
}).start();
|
|
69
|
-
this._subscription = authService.subscribe((state) => {
|
|
71
|
+
this._machineSubscription = authService.subscribe((state) => {
|
|
70
72
|
this._authState = state;
|
|
71
73
|
this._facade = getServiceContextFacade(state);
|
|
72
74
|
});
|
|
75
|
+
this._hubSubscription = listenToAuthHub(authService.send);
|
|
73
76
|
this._sendEventAliases = getSendEventAliases(authService.send);
|
|
74
77
|
this._authService = authService;
|
|
75
78
|
}
|
|
76
79
|
ngOnDestroy() {
|
|
77
|
-
if (this.
|
|
78
|
-
this.
|
|
80
|
+
if (this._machineSubscription)
|
|
81
|
+
this._machineSubscription.unsubscribe();
|
|
82
|
+
if (this._hubSubscription)
|
|
83
|
+
this._hubSubscription();
|
|
79
84
|
}
|
|
80
85
|
/**
|
|
81
86
|
* Context facades
|
|
@@ -541,7 +546,7 @@ class ForceNewPasswordComponent {
|
|
|
541
546
|
ForceNewPasswordComponent.decorators = [
|
|
542
547
|
{ type: Component, args: [{
|
|
543
548
|
selector: 'amplify-force-new-password',
|
|
544
|
-
template: "<div data-amplify-container>\n <form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"force-new-password-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\">{{ this.headerText }}</h3>\n </amplify-slot>\n <amplify-form-field\n name=\"password\"\n type=\"password\"\n autocomplete=\"new-password\"\n ></amplify-form-field>\n\n <amplify-form-field\n name=\"confirm_password\"\n label=\"Confirm Password\"\n type=\"password\"\n autocomplete=\"new-password\"\n ></amplify-form-field>\n\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ changePasswordText }}\n </button>\n\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.toSignIn()\"\n >\n {{ backToSignInText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot name=\"force-new-password-footer\" [context]=\"context\">\n </amplify-slot>\n </form>\n</div>\n"
|
|
549
|
+
template: "<div data-amplify-container>\n <form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"force-new-password-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\">{{ this.headerText }}</h3>\n </amplify-slot>\n <amplify-form-field\n name=\"password\"\n type=\"password\"\n autocomplete=\"new-password\"\n ></amplify-form-field>\n\n <amplify-form-field\n name=\"confirm_password\"\n label=\"Confirm Password\"\n type=\"password\"\n autocomplete=\"new-password\"\n ></amplify-form-field>\n <amplify-slot name=\"force-new-form-fields\" [context]=\"context\">\n <amplify-force-new-password-form-fields></amplify-force-new-password-form-fields>\n </amplify-slot>\n\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ changePasswordText }}\n </button>\n\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.toSignIn()\"\n >\n {{ backToSignInText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot name=\"force-new-password-footer\" [context]=\"context\">\n </amplify-slot>\n </form>\n</div>\n"
|
|
545
550
|
},] }
|
|
546
551
|
];
|
|
547
552
|
ForceNewPasswordComponent.ctorParameters = () => [
|
|
@@ -552,6 +557,33 @@ ForceNewPasswordComponent.propDecorators = {
|
|
|
552
557
|
headerText: [{ type: Input }]
|
|
553
558
|
};
|
|
554
559
|
|
|
560
|
+
class ForceNewPasswordFormFieldsComponent {
|
|
561
|
+
constructor(authenticator) {
|
|
562
|
+
this.authenticator = authenticator;
|
|
563
|
+
}
|
|
564
|
+
ngOnInit() {
|
|
565
|
+
const state = this.authenticator.authState;
|
|
566
|
+
const actorContext = getActorContext(state);
|
|
567
|
+
const { requiredAttributes } = actorContext;
|
|
568
|
+
this.fieldNames = requiredAttributes.filter((fieldName) => {
|
|
569
|
+
const hasDefaultField = !!authInputAttributes[fieldName];
|
|
570
|
+
if (!hasDefaultField) {
|
|
571
|
+
console.debug(`Authenticator does not have a default implementation for ${fieldName}. Customize Authenticator.SignUp.FormFields to add your own.`);
|
|
572
|
+
}
|
|
573
|
+
return hasDefaultField;
|
|
574
|
+
});
|
|
575
|
+
}
|
|
576
|
+
}
|
|
577
|
+
ForceNewPasswordFormFieldsComponent.decorators = [
|
|
578
|
+
{ type: Component, args: [{
|
|
579
|
+
selector: 'amplify-force-new-password-form-fields',
|
|
580
|
+
template: "<div class=\"amplify-flex\" style=\"flex-direction: column\" data-amplify-fieldset>\n <ng-container *ngFor=\"let field of fieldNames\">\n <amplify-form-field\n [name]=\"field\"\n [labelHidden]=\"false\"\n ></amplify-form-field>\n </ng-container>\n</div>\n"
|
|
581
|
+
},] }
|
|
582
|
+
];
|
|
583
|
+
ForceNewPasswordFormFieldsComponent.ctorParameters = () => [
|
|
584
|
+
{ type: AuthenticatorService }
|
|
585
|
+
];
|
|
586
|
+
|
|
555
587
|
const getAttributeMap = () => authInputAttributes;
|
|
556
588
|
|
|
557
589
|
/**
|
|
@@ -579,11 +611,6 @@ class FormFieldComponent {
|
|
|
579
611
|
const state = this.authenticator.authState;
|
|
580
612
|
const { country_code } = getActorContext(state);
|
|
581
613
|
this.defaultCountryCode = country_code;
|
|
582
|
-
// TODO: remove this side-effect
|
|
583
|
-
this.authenticator.updateForm({
|
|
584
|
-
name: 'country_code',
|
|
585
|
-
value: country_code,
|
|
586
|
-
});
|
|
587
614
|
}
|
|
588
615
|
}
|
|
589
616
|
get attributeMap() {
|
|
@@ -696,6 +723,8 @@ class SetupTotpComponent {
|
|
|
696
723
|
this.dataAttr = '';
|
|
697
724
|
this.headerText = translate('Setup TOTP');
|
|
698
725
|
this.qrCodeSource = '';
|
|
726
|
+
this.secretKey = '';
|
|
727
|
+
this.copyTextLabel = translate('COPY');
|
|
699
728
|
// translated texts
|
|
700
729
|
this.backToSignInText = translate('Back to Sign In');
|
|
701
730
|
this.confirmText = translate('Confirm');
|
|
@@ -713,9 +742,9 @@ class SetupTotpComponent {
|
|
|
713
742
|
const actorContext = getActorContext(state);
|
|
714
743
|
const { user } = actorContext;
|
|
715
744
|
try {
|
|
716
|
-
|
|
745
|
+
this.secretKey = yield Auth.setupTOTP(user);
|
|
717
746
|
const issuer = 'AWSCognito';
|
|
718
|
-
const totpCode = `otpauth://totp/${issuer}:${user.username}?secret=${secretKey}&issuer=${issuer}`;
|
|
747
|
+
const totpCode = `otpauth://totp/${issuer}:${user.username}?secret=${this.secretKey}&issuer=${issuer}`;
|
|
719
748
|
logger.info('totp code was generated:', totpCode);
|
|
720
749
|
this.qrCodeSource = yield QRCode.toDataURL(totpCode);
|
|
721
750
|
}
|
|
@@ -733,11 +762,15 @@ class SetupTotpComponent {
|
|
|
733
762
|
event.preventDefault();
|
|
734
763
|
this.authenticator.submitForm();
|
|
735
764
|
}
|
|
765
|
+
copyText() {
|
|
766
|
+
navigator.clipboard.writeText(this.secretKey);
|
|
767
|
+
this.copyTextLabel = translate('COPIED');
|
|
768
|
+
}
|
|
736
769
|
}
|
|
737
770
|
SetupTotpComponent.decorators = [
|
|
738
771
|
{ type: Component, args: [{
|
|
739
772
|
selector: 'amplify-setup-totp',
|
|
740
|
-
template: "<div data-amplify-container>\n <form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"setup-totp-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\">{{ this.headerText }}</h3>\n </amplify-slot>\n <p *ngIf=\"!qrCodeSource\">Loading...</p>\n <img\n *ngIf=\"qrCodeSource\"\n [src]=\"qrCodeSource\"\n alt=\"qr code\"\n data-amplify-qrcode\n width=\"228\"\n height=\"228\"\n />\n <amplify-form-field\n name=\"confirmation_code\"\n label=\"Code *\"\n type=\"text\"\n autocomplete=\"one-time-code\"\n ></amplify-form-field>\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ confirmText }}\n </button>\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.toSignIn()\"\n >\n {{ backToSignInText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot name=\"setup-totp-footer\" [context]=\"context\"> </amplify-slot>\n </form>\n</div>\n"
|
|
773
|
+
template: "<div data-amplify-container>\n <form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"setup-totp-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\">{{ this.headerText }}</h3>\n </amplify-slot>\n <p *ngIf=\"!qrCodeSource\">Loading...</p>\n <img\n *ngIf=\"qrCodeSource\"\n [src]=\"qrCodeSource\"\n alt=\"qr code\"\n data-amplify-qrcode\n width=\"228\"\n height=\"228\"\n />\n <div class=\"amplify-flex\" data-amplify-copy>\n <div>{{ secretKey }}</div>\n <div data-amplify-copy-svg (click)=\"copyText()\">\n <div data-amplify-copy-tooltip>{{ copyTextLabel }}</div>\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM15 5H8C6.9 5 6.01 5.9 6.01 7L6 21C6 22.1 6.89 23 7.99 23H19C20.1 23 21 22.1 21 21V11L15 5ZM8 21V7H14V12H19V21H8Z\"\n fill=\"black\"\n />\n </svg>\n </div>\n </div>\n\n <amplify-form-field\n name=\"confirmation_code\"\n label=\"Code *\"\n type=\"text\"\n autocomplete=\"one-time-code\"\n ></amplify-form-field>\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ confirmText }}\n </button>\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.toSignIn()\"\n >\n {{ backToSignInText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot name=\"setup-totp-footer\" [context]=\"context\"> </amplify-slot>\n </form>\n</div>\n"
|
|
741
774
|
},] }
|
|
742
775
|
];
|
|
743
776
|
SetupTotpComponent.ctorParameters = () => [
|
|
@@ -752,7 +785,10 @@ class SignInComponent {
|
|
|
752
785
|
this.authenticator = authenticator;
|
|
753
786
|
this.dataAttr = '';
|
|
754
787
|
// translated phrases
|
|
755
|
-
|
|
788
|
+
// Support backwards compatibility for legacy key with trailing space
|
|
789
|
+
this.forgotPasswordText = !hasTranslation('Forgot your password? ')
|
|
790
|
+
? translate('Forgot your password?')
|
|
791
|
+
: translate('Forgot your password? ');
|
|
756
792
|
this.signInButtonText = translate('Sign in');
|
|
757
793
|
}
|
|
758
794
|
get context() {
|
|
@@ -1249,6 +1285,7 @@ AmplifyAuthenticatorModule.decorators = [
|
|
|
1249
1285
|
FederatedSignInButtonComponent,
|
|
1250
1286
|
FederatedSignInComponent,
|
|
1251
1287
|
ForceNewPasswordComponent,
|
|
1288
|
+
ForceNewPasswordFormFieldsComponent,
|
|
1252
1289
|
FormFieldComponent,
|
|
1253
1290
|
PasswordFieldComponent,
|
|
1254
1291
|
PhoneNumberFieldComponent,
|
|
@@ -1270,6 +1307,7 @@ AmplifyAuthenticatorModule.decorators = [
|
|
|
1270
1307
|
AuthenticatorComponent,
|
|
1271
1308
|
CheckboxComponent,
|
|
1272
1309
|
SignUpFormFieldsComponent,
|
|
1310
|
+
ForceNewPasswordFormFieldsComponent,
|
|
1273
1311
|
TextFieldComponent,
|
|
1274
1312
|
],
|
|
1275
1313
|
},] }
|
|
@@ -1283,5 +1321,5 @@ AmplifyAuthenticatorModule.decorators = [
|
|
|
1283
1321
|
* Generated bundle index. Do not edit.
|
|
1284
1322
|
*/
|
|
1285
1323
|
|
|
1286
|
-
export { AmplifyAuthenticatorModule, AmplifySlotDirective, AuthenticatorComponent, AuthenticatorService, ButtonComponent, CheckboxComponent, ConfirmResetPasswordComponent, ConfirmSignInComponent, ConfirmSignUpComponent, ConfirmVerifyUserComponent, CustomComponentsService, ErrorComponent, FederatedSignInButtonComponent, FederatedSignInComponent, ForceNewPasswordComponent, FormFieldComponent, PasswordFieldComponent, PhoneNumberFieldComponent, ResetPasswordComponent, SelectComponent, SetupTotpComponent, SignInComponent, SignUpComponent, SignUpFormFieldsComponent, TabItemComponent, TabsComponent, TextFieldComponent, UserNameAliasComponent, VerifyUserComponent, getAttributeMap, AmplifySlotComponent as ɵa, AuthenticatorComponent as ɵb, ButtonComponent as ɵc, CheckboxComponent as ɵd, ConfirmResetPasswordComponent as ɵe, ConfirmSignInComponent as ɵf, ConfirmSignUpComponent as ɵg, ConfirmVerifyUserComponent as ɵh, ErrorComponent as ɵi, FederatedSignInButtonComponent as ɵj, FederatedSignInComponent as ɵk, ForceNewPasswordComponent as ɵl,
|
|
1324
|
+
export { AmplifyAuthenticatorModule, AmplifySlotDirective, AuthenticatorComponent, AuthenticatorService, ButtonComponent, CheckboxComponent, ConfirmResetPasswordComponent, ConfirmSignInComponent, ConfirmSignUpComponent, ConfirmVerifyUserComponent, CustomComponentsService, ErrorComponent, FederatedSignInButtonComponent, FederatedSignInComponent, ForceNewPasswordComponent, ForceNewPasswordFormFieldsComponent, FormFieldComponent, PasswordFieldComponent, PhoneNumberFieldComponent, ResetPasswordComponent, SelectComponent, SetupTotpComponent, SignInComponent, SignUpComponent, SignUpFormFieldsComponent, TabItemComponent, TabsComponent, TextFieldComponent, UserNameAliasComponent, VerifyUserComponent, getAttributeMap, AmplifySlotComponent as ɵa, AuthenticatorComponent as ɵb, VerifyUserComponent as ɵba, ButtonComponent as ɵc, CheckboxComponent as ɵd, ConfirmResetPasswordComponent as ɵe, ConfirmSignInComponent as ɵf, ConfirmSignUpComponent as ɵg, ConfirmVerifyUserComponent as ɵh, ErrorComponent as ɵi, FederatedSignInButtonComponent as ɵj, FederatedSignInComponent as ɵk, ForceNewPasswordComponent as ɵl, ForceNewPasswordFormFieldsComponent as ɵm, FormFieldComponent as ɵn, PasswordFieldComponent as ɵo, PhoneNumberFieldComponent as ɵp, ResetPasswordComponent as ɵq, SelectComponent as ɵr, SetupTotpComponent as ɵs, SignInComponent as ɵt, SignUpComponent as ɵu, SignUpFormFieldsComponent as ɵv, TabItemComponent as ɵw, TabsComponent as ɵx, TextFieldComponent as ɵy, UserNameAliasComponent as ɵz };
|
|
1287
1325
|
//# sourceMappingURL=aws-amplify-ui-angular.js.map
|