[11] credentials は、HTTP認証における認証のための利用者名やパスワードなどの情報を記述したものです。
Authorization:
ヘッダーなどで使われます。
[21] credentials
は、 auth-scheme
のみか、その後に auth-param
のリスト (#
)
または token68
を続けたものです。
[22] auth-scheme
の後に続く場合には
auth-scheme
の後に1文字以上の SP
が必要です。
[4] auth-param
や token68
の部分は auth-scheme
によって異なる構文となります。
どの auth-scheme
でも共通して必須である引数はありません。
[24] token68
は既存の認証方式の構文との互換性のためのもので、
新しい認証方式は使うべきではありません >>22。
[14] 次のヘッダーは、 authorization credentials に分類されています >>13。
[7] credentials は Authorization:
ヘッダーや
Proxy-Authorization:
ヘッダーの値として使われます。
[5] 利用者エージェントがある credentials を自動的に適用できる範囲は、
ホストと realm
による保護空間により決まります。
当該 creadentials 付きの要求が一旦認証されれば、
それを同じ空間の別の要求に対しても、 auth-scheme、 auth-param、
あるいは利用者の設定によって決まる期間、再利用して構いません。 >>1, >>8
[6] auth-scheme によって特に決められていない限り、 保護空間を鯖を超えて延長することはできません。 >>1, >>8
[26] 利用者エージェントによる credentials の保存の期間を満了させたり、 破棄させたりする方法は HTTP としては規定されていませんが、 認証方式によってはそのような仕組みを規定することもできます。 >>25
[27] 利用者エージェントは保存されている利用者が credentials を破棄できる仕組みを提供することを推奨されています >>25。
[28] 最近の Webブラウザーにはパスワードマネージャーのような機能があり、 サイトごとのパスワードを個別に削除できます。
[29] また、一括またはサイトごとのパスワードを消去する機能を用意している Webブラウザーや、終了時に消去するシークレットウィンドウのような機能を用意している Webブラウザーもあります。
[30] 現在の Webブラウザーの一般的な実装では、ある保護空間に対する
Webブラウザーのセッションの初回 401
応答では保存されているパスワードを補完した入力ダイアログボックスを表示し、
以後のアクセスでは予め credentials を指定した要求を送信するようになっています。
[31] 自動的な credentials の送信をやめるよう著者が鯖側から指示する 「ログアウト」機能が度々提案されていますが、そのような機能が必要な場合は Cookie認証が用いられることが多く、特に必要性は高く無いとして Webブラウザー開発者等の関心は高くないのが実情のようです。
[33] この Webブラウザーの自動的な credentials のため、
一つのホストを複数の著者が共有しているような場合に、
他の著者の資源に対するパスワードを受信することが可能となってしまいます。
realm
を指定しても対策にはなりません >>32。
[38] 基本認証においては、
要求の対象URLから path
部分の最後の /
の後の文字をすべて削除したものが、当該要求の認証範囲となります。
クライアントは、認証範囲と接頭辞一致する URL
によって表される資源は、当該要求の realm
で表されるのと同じ保護空間内にあるものと仮定するべきです。 >>42
[41] クライアントは、サーバーから改めて challenge
を受信せずとも、予め保護空間内の資源への要求に
Authorization:
ヘッダー
(プロキシの認証の場合は Proxy-Authorization:
ヘッダー) で基本認証の credentials を含めて送信できます >>42。
[17] Re: [whatwg] [Fetch spec] Link to CORS FAQ wiki ( (Anne van Kesteren 著, 版)) <http://lists.w3.org/Archives/Public/public-whatwg-archive/2014Aug/0087.html>
[18] Move credentials out of network or cache fetch since it ties in with COR... · 9014f52 · whatwg/fetch ( ( 版)) <https://github.com/whatwg/fetch/commit/9014f52207bd12f9882ee929d13d3b39def02790>
[19] Credential Management ( ( 版)) <https://mikewest.github.io/credentialmanagement/spec/>
[402] [webappsec] Rechartering: Credential Management API ( (Brad Hill 著, 版)) <http://lists.w3.org/Archives/Public/public-webappsec/2014Nov/0123.html>
[36] Credential Management ( 版) <https://w3c.github.io/webappsec/specs/credentialmanagement/>
[44] Explain CORS protocol and credentials interaction ( (annevk著, )) <https://github.com/whatwg/fetch/commit/c9e8db9d9075989fd2b91203f0247c52bac0ca27>
[45] Cross-Origin Resource Sharing ( ( 版)) <http://dvcs.w3.org/hg/cors/raw-file/tip/Overview.html#user-credentials>
[46] Re: [whatwg] [Fetch spec] Link to CORS FAQ wiki ( (Anne van Kesteren 著, 版)) <http://lists.w3.org/Archives/Public/public-whatwg-archive/2014Aug/0087.html>
[47] Reference Fetch for “credentials” definition (sideshowbarker著, ) <https://github.com/whatwg/xhr/commit/900f0138ba16dbe14d610f5aa8a417185e3f49c0>
[48] Reference Fetch spec for “credentials” definition by sideshowbarker · Pull Request #163 · whatwg/xhr () <https://github.com/whatwg/xhr/pull/163>
[49] Clarify that credentials includes HTTP authentication (sideshowbarker著, ) <https://github.com/whatwg/fetch/commit/d84658ee3f97b0dafa3ff3e4a2d10dbf8e77c2d6>
[50] Doc: Definition of credentials unclear · Issue #612 · whatwg/fetch () <https://github.com/whatwg/fetch/issues/612>
[51] Clarify that credentials include HTTP auth by sideshowbarker · Pull Request #616 · whatwg/fetch () <https://github.com/whatwg/fetch/pull/616>
[52] [worklets] Change the default credentials mode from 'omit' to 'same-o… (nhiroki著, ) <https://github.com/w3c/css-houdini-drafts/commit/06d6906df81a3cd17893ed6bb2da79354c8dd7c1>
[53] Change credentials mode default · Issue #756 · w3c/css-houdini-drafts () <https://github.com/w3c/css-houdini-drafts/issues/756>
[54] [worklets] Change the default credentials mode by nhiroki · Pull Request #757 · w3c/css-houdini-drafts () <https://github.com/w3c/css-houdini-drafts/pull/757>
auth-param
のリスト (#
) ながらも、基本認証だけ特別な構文とされていました。 RFC 2617 ではなぜか基本認証の場合が示されていませんでした。 RFC 7235 で基本認証の場合がtoken68
に置き換えられました。