Angular 8 - Chrome не предлагает «запомнить пароль» после входа в систему - PullRequest
0 голосов
/ 04 октября 2019

Я создаю форму входа в Angular 8. Работает нормально, но Chrome не показывает мне диалог сохранения пароля при входе пользователя (Edge работает). У меня есть следующий код:

<form name="loginForm" novalidate #loginForm="ngForm" [class.submitted]="loginForm.submitted"
    class="form-signin mt-5 pt-5 pl-5 pr-5 pb-4 alert alert-secondary m-alert--air" *blockUI="'login-form'">

    <div class="input-group">
        <div class="input-group-prepend">
            <span class="input-group-text">
                <i class="la la-user m--icon-font-size-lg4 font-weight-bold"></i>
            </span>
        </div>
        <label for="username" class="sr-only">Username</label>
        <input type="text" id="username" name="username" [(ngModel)]="username" class="form-control"
            placeholder="Username" required focus="true" />
    </div>

    <div class="input-group mt-2">
        <div class="input-group-prepend">
            <span class="input-group-text">
                <i class="la la-asterisk m--icon-font-size-lg4 font-weight-bold"></i>
            </span>
        </div>
        <label for="password" class="sr-only">Password</label>
        <input type="password" id="password" name="password" [(ngModel)]="password" class="form-control"
            placeholder="Password" required />
    </div>

    <button class="btn m-btn--air btn-lg btn-primary btn-block mt-3 p-3 m--regular-font-size-lg5" type="submit"
        (click)="submit()">
        <span>
            <i class="la la-sign-out m--icon-font-size-lg4"></i>
            <span>Login</span>
        </span>
    </button>

</form>

Метод отправки следующий:

public submit(): void {
    const url = '/login';
    const body = {
        username: this.username,
        password: this.password
    };

    this._http.post(url, body, this._loginFormBlocker).subscribe(
        (result: any) => {
            if (result.isAuthenticated === true) {
                this._sessionService.setSession(result);
                this._router.navigate(['/']);
            } else {
                this._toast.showErrorToast('Login failed. Please check entered credentials.');
            }
        },
        () => {
            this._toast.showErrorToast('Login failed. Please try again later on contact administrator.');
        }
    );
}

Стоит отметить, что я изменил исходный URL-адрес входа. Раньше /login создавалось в AngularJS, сейчас /new/login создается в Angular. Он работал с оригинальной версией AngularJS, но не с новой. Я удалил сохраненный пароль в Chrome, и тестер сохранил его, но он не работает для нас обоих.

В чем может быть проблема?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...