[解決済み】HTTP基本認証 - 期待されるWebブラウザの体験とは?
質問
サーバーがHTTP基本認証でアクセスを許可する場合、どのような体験が期待されますか? ウェブブラウザで ?
Web ブラウザを無視して、Basic Auth リクエストを作成する方法を説明します。
curl
:
curl -u myusername:mypassword http://somesite.com
しかし、ウェブブラウザではどうでしょうか?私がいくつかのウェブサイトで見たのは、私がそのURLにアクセスすると、サーバーがレスポンスコード401を返すというものでした。ブラウザは、ユーザー名とパスワードのプロンプトを表示します。
しかし、somesite.comでは、認証のプロンプトがまったく表示されず、認証されていないというページが表示されるだけです。somesiteはBasic Authワークフローを正しく実装していないのでしょうか、それとも他に何か必要なものがあるのでしょうか?
解決方法は?
皆さんが混乱しないように、質問を2つに分けて再構成します。
第一に: BASIC認証を使って、ブラウザで認証されたHTTPリクエストを行うにはどうすればよいのでしょうか? .
ブラウザでは、まずプロンプトが来るのを待つか、この書式に従えばURLを編集することでhttp basic authを行うことができます。
http://myusername:[email protected]
注:コマンドラインとcurlがインストールされていれば、質問にあるcurlコマンドは全く問題ありません。)
参考文献
- https://en.wikipedia.org/wiki/Basic_access_authentication#URL_encoding
- https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax
- https://www.rfc-editor.org/rfc/rfc3986#page-18
また、CURLのマニュアルページによると https://curl.haxx.se/docs/manual.html
HTTP
Curl also supports user and password in HTTP URLs, thus you can pick a file
like:
curl http://name:[email protected]/full/path/to/file
or specify user and password separately like in
curl -u name:passwd http://machine.domain/full/path/to/file
HTTP offers many different methods of authentication and curl supports
several: Basic, Digest, NTLM and Negotiate (SPNEGO). Without telling which
method to use, curl defaults to Basic. You can also ask curl to pick the
most secure ones out of the ones that the server accepts for the given URL,
by using --anyauth.
NOTE! According to the URL specification, HTTP URLs can not contain a user
and password, so that style will not work when using curl via a proxy, even
though curl allows it at other times. When using a proxy, you _must_ use
the -u style for user and password.
2つ目の本当の疑問は "しかし、somesite.comでは、認証のプロンプトがまったく表示されず、認証されていないというページが表示されるだけなんです。somesiteがBasic Authワークフローを正しく実装していないのか、それとも他に何か必要なことがあるのでしょうか?"。
curlのドキュメントによると
-u
オプションは多くの認証方式に対応していますが、デフォルトはBasicです。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン