【クレデンシャルマネジメントエーピーアイ】
Credential Management API とは?
最終更新:
💡 認証情報を扱う窓口。ログインの検証は別
Webサイトがブラウザの認証情報管理と連携するためのAPI。navigator.credentialsで認証情報を要求・作成・保存できますが、種類やブラウザごとに対応と手順が異なり、認証の検証は別に必要です。
📌 このページのポイント
Credential Management APIって何?
サイトがブラウザの認証情報管理と連携する窓口だよ。navigator.credentials.get()で必要な認証情報を要求するなどの操作ができる。取得できない場合や利用者が取り消す場合もあるんだ。
get()を呼べばログイン完了?
Googleなどのログインもこれだけでできる?
FederatedCredentialは連携先の情報を扱う仕組みだけど、呼ぶだけで認証が完了するわけではない。現在の連携にはFedCMもあり、提供する認証サービス側の対応も必要だよ。種類と実装、対象ブラウザを確認するんだ。
安全性や対応はどう考える?
通常の公開サイトではHTTPSなどの安全なコンテキストが必要。利用者の選択や認証情報の利用範囲にも制限があるけど、それだけでサイト全体が安全になるわけではない。機能検出をして、取り消し・未対応・失敗時の通常ログインも用意しよう。
もっと詳しく知りたい人へ
通常のフォームでは正しくパスワードを保存できない?
通常のフォームにもautocompleteのusernameやcurrent-passwordなどの指定があり、ブラウザの入力支援と連携できます。APIは明示的に管理と連携する選択肢で、通常フォームが常に推測だけに頼るわけではありません。
まとめ:ざっくりこれだけ覚えればOK!
「Credential Management API」って出てきたら「ブラウザーで認証情報を扱う共通の窓口」と思えばだいたいOK!
📖 おまけ:英語の意味
「Credential Management API」 = 認証情報管理API
💬 Credentialは認証に使う情報、Managementは管理。API自体が認証の正しさを保証したり、利用者を勝手にログインさせたりするものではありません。