自動入力される認証情報
Android、iOS、Webには、ユーザー名とパスワードのフィールドを自動的に検出し、これらの認証情報を安全に保存、呼び出しするパスワードマネージャーが組み込まれています。
AppleとGoogleが認証情報を自動入力して保存するためには、Webサイトとアプリの間に双方向の関連付けを設定する必要があります。このガイドでは、Deep Linking で使用したのと同じステップに従いますが、ここでは Capacitor Configuration と autocomplete
属性の使用に関するステップを追加しています。
アプリのコード化
アプリケーションには、ユーザー名とパスワードを入力するための ion-input
が必要です。この入力には autocomplete
属性を使用しなければなりません。以下に例を示します。
- Angular
- Javascript
<form>
<ion-list>
<ion-item>
<ion-label>E-Mail Address</ion-label>
<ion-input appAutofill type="email" name="email" autocomplete="email" [(ngModel)]="email" required email></ion-input>
</ion-item>
<ion-item>
<ion-label>Password</ion-label>
<ion-input appAutofill type="password" name="password" autocomplete="current-password" required [(ngModel)]="password"></ion-input>
</ion-item>
</ion-list>
<ion-button type="submit">Submit</ion-button>
</form>
webkit のバグ により、フィールドの自動入力に関連する ion-input
を回避するために、この this directive をコードにコピーする必要があります。
この サンプルアプリケーション は、このガイドのテクニックを使って、iOS、Android、Web上で資格情報の自動入力を可能にしています。
<form>
<ion-list>
<ion-item>
<ion-label>E-Mail Address</ion-label>
<ion-input type="email" name="email" autocomplete="email" required email></ion-input>
</ion-item>
<ion-item>
<ion-label>Password</ion-label>
<ion-input id="pwd" type="password" name="password" autocomplete="current-password" required></ion-input>
</ion-item>
</ion-list>
<ion-button type="submit">Submit</ion-button>
</form>
webkit のバグ により、ion-input
のフィールドへの自動入力に関連するため、この回避コードが必要になります。
document.getElementById('pwd').children[0].addEventListener('change', (e) => {
this.password = (e.target as any).value;
});
注記
autocomplete
属性は、 username
, current-pasword
, new-password
のようなクレデンシャルタイプを自動入力できるようにします。また、電話番号、ワンタイムコード、クレジットカード情報、moreなどには、この追加設定なしで使用することができます。