1

我试图弄清楚为什么 lastpass 可以与我的登录密码字段一起使用,但不能与用户名一起使用

我有一个常规形式的标准离子/角度应用程序。Lastpass 仅适用于密码字段,它正确识别我的应用程序所需的域并正确预填密码。

但是我不知道如何对用户名字段执行相同的操作,这是它如何用于密码的屏幕截图,但对于用户名却不是这样:

lastpass 密码

在该屏幕截图中,您可以在调用 LastPass 应用程序的键盘上方单击“密码”。



    <form [formGroup]="loginFormGroup">
        <ion-grid>
            <ion-row>
                <ion-col>
                    <ion-item color="none">
                        <ion-label position="floating">
                            Username or email
                            <span *ngIf="username.hasError('required') && username.touched">
                                field is required
                            </span>
                        </ion-label>
                        <ion-input
                            lines="full" class="ion-no-margin ion-no-padding"
                            type="text"
                            formControlName="username"
                            autocomplete="username"
                        ></ion-input>
                    </ion-item>
                </ion-col>
            </ion-row>
            <ion-row>
                <ion-col>
                    <ion-item color="none">
                        <ion-label position="floating">
                            Password
                            <span *ngIf="password.hasError('required') && password.touched">
                                is required
                            </span>
                        </ion-label>
                        <ion-input
                            lines="full"
                            class="ion-no-margin ion-no-padding"
                            type="password"
                            formControlName="password"
                            autocomplete="current-password"
                        ></ion-input>
                    </ion-item>
                </ion-col>
            </ion-row>
            <ion-row>
                <ion-col>
                    <ion-button
                        type="submit"
                        (click)="login()"
                        expand="block"
                        [disabled]="!loginFormGroup.valid"
                        fill="outline"
                    >
                        <ion-ripple-effect></ion-ripple-effect>
                        Login
                    </ion-button>
                </ion-col>
            </ion-row>
        </ion-grid>
    </form>

4

2 回答 2

4

要让 iOS 的钥匙串密码自动填充功能适用于您的应用程序中的特定域,您应该配置一个“应用程序关联域”。我几乎可以肯定这也适用于您的 Lastpass 应用程序,因为 iOS 本身会将您转发到该应用程序。

要在您的 Xcode 项目/应用程序中设置 App Associated Domain,您应该:

  • 在 developer.apple.com 上将“App Associated Domain”权利添加到您的 AppID
  • 在您的 Xcode 项目设置中,启用关联的域开关
  • 在同一视图中,添加关联的域(和端口)
  • 在您在上一步中选择的网络服务器上,在根目录中添加一个文件:apple-app-site-association
  • 将以下内容添加到该 JSON 文件中:
{
   "webcredentials": {
       "apps": [ "D3KQX62K1A.com.example.DemoApp" ]
    }
}
  • 更改D3KQX62K1A为您的团队 ID,更改为您com.example.DemoApp的捆绑包 ID。

这应该够了吧!由于您已将应用程序链接到您的网站,因此现在将为该网站建议密码,反之亦然。

请参阅此链接了解更多信息: https ://developer.apple.com/documentation/security/password_autofill/setting_up_an_app_s_associated_domains

有关此主题的更多信息,请参阅此链接:https ://developer.apple.com/documentation/security/password_autofill/

于 2019-08-25T21:42:30.430 回答
1

The username field not being populated by the password managers is a different problem than the password managers not finding the correct password. To fix the auto fill issue, you will have to remove the ion-item wrapping your ion-inputs. Not sure why this fixes the problem but it should in your case since you already have the correct autocomplete attributes.

于 2020-08-28T14:19:04.660 回答