認証情報管理 API

Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

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

認証情報管理の概念と使用方法

この API により、ウェブサイトがユーザーエージェントのパスワードシステムと対話できるようになるため、ウェブサイトはサイトの認証情報を統一した方法で扱うことができ、ユーザーエージェントは認証情報の管理でより良い支援を提供することができるようになります。例えば、ユーザエージェントは、連合アイデンティティプロバイダーや、ユーザ名とパスワードだけでなく、それ以上のものを使用する難解なログインメカニズムを扱うのに特に苦労しています。これらの問題に対処するために、認証情報管理 API は、ウェブサイトがさまざまな種類の認証情報を保存したり取得したりする方法を提供しています。これによりユーザーは、サイトにログインするために使用した連携アカウントを確認したり、期限切れのセッションに明示的なログインの手続きなしでセッションを再開したりすることができます。

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

サブドメイン間で共有される認証情報

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

インターフェイス

Credential
信頼の決定の前提条件として、エンティティに関する情報を提供します。
CredentialsContainer (en-US)
ログインやログアウトの成功などの興味深いイベントが発生したときに、認証情報を要求し、ユーザーエージェントに通知するメソッドを公開しています。このインターフェイスは navigator.credentials からアクセスできます。.
FederatedCredential
ウェブサイトがユーザーを正しく認証するために信頼するエンティティである、連合アイデンティティプロバイダーからの認証情報に関する情報を提供し、また、そのための API を提供します。 OpenID Connect はそのようなフレームワークの一例です。
PasswordCredential (en-US)
ユーザー名/パスワードの組に関する情報を提供します。
PublicKeyCredential
パスワードの代わりに、フィッシング不可能でデータ侵害に強い非対称キーペアを使用してログインするための認証情報を提供します。

仕様書

仕様書 状態 備考
Credential Management Level 1 草案 初回定義
Web Authentication: An API for accessing Public Key Credentials Level 1 勧告 初回定義