資格情報管理 API

安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

資格情報管理 API を使用すると、ウェブサイトがユーザー、連携アカウント、公開鍵の資格情報を保存および取得することができます。これらの機能により、ユーザーはパスワードを入力せずにログインしたり、サイトへのログインに使用した連携アカウントを確認したり、期限切れのセッションに明示的なログインの手続きなしでセッションを再開したりすることができます。

概念と使用方法

この API により、ウェブサイトがユーザーエージェントのパスワードシステムと直接対話できるようになるため、ウェブサイトはサイトの資格情報を統一した方法で扱うことができ、ユーザーエージェントは資格情報の管理でより良い支援を提供することができるようになります。例えば、ユーザーエージェントは、連合アイデンティティプロバイダーや、ユーザー名とパスワードだけでなく、それ以上のものを使用する難解なログインメカニズムを扱うのに特に苦労しています。

これらの問題に対処するために、資格情報管理 API は、ウェブサイトがさまざまな種類の資格情報を保存したり取得したりする方法を提供しています。これによりユーザーは、サイトにログインするために使用した連携アカウントを確認したり、期限切れのセッションに明示的なログインの手続きなしでセッションを再開したりすることができます。

メモ: この API は最上位のコンテキストのみに制限されています。 get()store()<iframe> 要素の中で呼び出すと、何もせずに解決します。

サブドメイン間で共有される資格情報

より新しい版の仕様では、別のサブドメインから資格情報を取得できるようになっています。例えば、 login.example.com に保存されているパスワードを使用して www.example.com にログインすることができます。これを利用するには、CredentialsContainer.store() を呼び出してパスワードを明示的に格納する必要があります。これは、公開接尾辞リスト (PSL) 照合と呼ばれることもあるりますが、仕様では、資格情報の有効なスコープを決定するために PSL を使用することを推奨しているだけです。必須ではありません。そのため、ブラウザーによって実装が異なる場合があります。

インターフェイス

Credential

信頼の決定の前提条件として、エンティティに関する情報を提供します。

CredentialsContainer

ログインやログアウトの成功などの興味深いイベントが発生したときに、資格情報を要求し、ユーザーエージェントに通知するメソッドを公開します。このインターフェイスは navigator.credentials からアクセスできます。

FederatedCredential

ウェブサイトがユーザーを正しく認証するために信頼するエンティティである、連合アイデンティティプロバイダーからの資格情報に関する情報を提供し、また、そのための API を提供します。 OpenID Connect はそのようなフレームワークの一例です。

PasswordCredential

ユーザー名/パスワードの組に関する情報を提供します。

他のインターフェイスへの拡張

資格情報をリクエストするメソッドや、ログインやログアウトに成功したときなど興味深いイベントが発生したときに ユーザーエージェントに通知するメソッドを公開する CredentialsContainer インターフェイスを返します。

仕様書

Specification
Credential Management Level 1

ブラウザーの互換性

api.Credential

BCD tables only load in the browser

api.CredentialsContainer

BCD tables only load in the browser

api.FederatedCredential

BCD tables only load in the browser

api.PasswordCredential

BCD tables only load in the browser

関連情報