Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

BASIC認証の越え方

More than 1 year has passed since last update.

ダイアログで入力する

一番、普通のやつ。
URLにブラウザでアクセスすると次のようなダイアログが表示される。
ダイアログのデザインはブラウザが異なると多少変わるが、ユーザ名パスワードが求められるのは共通。

image.png

正しいユーザ名パスワードを入力すると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エンコードしたユーザ名:パスワード>

これで超えられる。

参考

HeRo
エンジニア
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away