Credential management
Credential は資格情報管理 API のインターフェイスで、信頼の判断に必要なエンティティ(普通はユーザー)についての情報を提供します。
Credential オブジェクトには 4 つの異なる型になる可能性があります。
FederatedCredential
IdentityCredential
PasswordCredential
PublicKeyCredential
対応ブラウザ
| 機能 | デスクトップ | モバイル | ||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | |
| 51 | 18 | 60 | 13 | 51 | 13 | |
| id は Credential インターフェイスのプロパティで、この資格情報の識別子の入った文字列を返します。これは GUID、ユーザー名、メールアドレスなどになる可能性があります。 | 51 | 18 | 60 | 13 | 51 | 13 |
| Credential インターフェースの isConditionalMediationAvailable() 静的メソッドは、false に解決される Promise を返します。 | | | | 16 | | 16 |
| type は Credential インターフェイスのプロパティで、視覚情報の種類が入った文字列を返します。有効な値は password、federated、public-key です。 | 51 | 18 | 60 | 13 | 51 | 13 |
| CredentialsContainer は資格情報管理 API のインターフェイスで、資格情報をリクエストし、ログインに成功したりログアウトが発生したりしたときに、ユーザーエージェントに通知するメソッドを公開します。このインターフェイスは Navigator.credentials からアクセスできます。 | 51 | 18 | 60 | 13 | 51 | 13 |
| create() は CredentialsContainer インターフェイスのメソッドで、指定されたオプションに基づく新しい資格情報のインスタンスに解決する Promise を返します。このインスタンスの情報は保存することができ、後で CredentialsContainer.get でユーザー認証に使用することができます。 | 60 | 18 | 60 | 13 | 60 | 13 |
| get() は CredentialsContainer インターフェイスのメソッドで、単一のcredentialで解決する Promise を返します。この認証情報は、ユーザーをウェブサイトに認証するために使用できます。 | 51 | 18 | 60 | 13 | 51 | 13 |
| preventSilentAccess() は CredentialsContainer インターフェイスのメソッドで、現在のオリジンへの今後の訪問で自動ログインを許可するかどうかを指定するフラグを設定し、それから undefined に解決する Promise を返します。 例えば、ユーザーがウェブサイトからログアウトした後、次回サイト訪問時に自動的にログインされないようにするために、このメソッドを呼び出すことができます。… | 60 | 18 | 60 | 17 | 60 | 17 |
| store() は CredentialsContainer のメソッドで、ユーザーの一連の資格情報を Credential インスタンス内に保存し、これを Promise で返します。 | 51 | 79 | 60 | 13 | 51 | 13 |
| credentials は Navigator インターフェイスのプロパティで、リクエストの資格情報のメソッドを公開する CredentialsContainer インターフェイスを返します。 CredentialsContainer インターフェイスはログインやログアウトに成功した場合など、興味深いイベントが発生したことをユーザーエージェントに通知したりもします。このインターフェイスは機能検出に使用することができます。 | 51 | 18 | 60 | 13 | 51 | 13 |
- このバージョンで機能が削除されました (60)
- 以前は別名で対応していました: requireUserMediation (51)
- このブラウザでは部分的にしか実装されていません
- このバージョンで機能が削除されました (17)
- このメソッドは存在しますが、常に `NotSupportedError` 例外が発生して拒否されます。
- このバージョンで機能が削除されました (60)
- 以前は別名で対応していました: requireUserMediation (51)
- このブラウザでは部分的にしか実装されていません
- このバージョンで機能が削除されました (17)
- このメソッドは存在しますが、常に `NotSupportedError` 例外が発生して拒否されます。
基本構文
const pwdCredential = new PasswordCredential({
id: "example-username", // Username/ID
name: "Carina Anand", // Display name
password: "correct horse battery staple", // Password
});
console.assert(pwdCredential.type === "password"); 実務での使いどころ
-
Credential management の活用
Credential は資格情報管理 API のインターフェイスで、信頼の判断に必要なエンティティ(普通はユーザー)についての情報を提供します。
注意点
- 古いブラウザでは対応していない場合がある。
実装メモ
- 一部の API はセキュアコンテキスト (HTTPS) やユーザー操作起点を必要とする。利用前に要件を確認すること。