ダイアログで入力する
一番、普通のやつ。
URLにブラウザでアクセスすると次のようなダイアログが表示される。
ダイアログのデザインはブラウザが異なると多少変わるが、ユーザ名、パスワードが求められるのは共通。
正しいユーザ名、パスワードを入力するとURLにアクセスできる。
cURLの場合
次のように-u
オプションにユーザ名、パスワードを:
(コロン)でつないで設定してBASIC認証を越える。
$ curl -u <ユーザ名>:<パスワード> https://www.example.com/login
URLに埋め込む
URLに次のようにユーザ名、パスワードを埋め込んでしまうという方法もある。
https://<ユーザ名>:<パスワード>@www.example.com/login
ユーザ名、パスワードに@
を含む場合にはURLエンコードすれば良い。
BASIC認証に特に対応する機能を持たないアプリケーションからBASIC認証の向こうにあるAPIなどにアクセスする場合などに便利。
ただし、アクセス先のURLをログなどに出力する仕様になっているとパスワードも出力されてしまうため注意が必要。
Authorizationヘッダで送る
プログラムからBASIC認証がかけられたURLにアクセスする場合にはAuthorization
ヘッダーにユーザ名、パスワードをセットしてリクエストする。
ユーザ名、パスワードは:
(コロン)でつなぎ、BASE64でエンコードして、ヘッダ全体では次のようになるようにする。
Authorization: Basic <BASE64エンコードしたユーザ名:パスワード>
これで超えられる。