Android 2.xなどで基本認証が通らないときのTIPS


話題:ベーシック認証のトラブル

Android 4.x以降では発生する頻度が下がったが、Android 2.x時代に頻発したトラブル。

基本認証で保護したページを、他の端末からは閲覧できるのに、
Android 2.xの端末からだけは閲覧できない

何回id/pwを入力しても、幾度でも尋ね直してくる無間地獄。

解決方法

前提

URI ユーザ名 パスワード
https://foo.net user password

の場合

解決方法

https://user:[email protected]

これだけ。
もしSSL未対応なら

http://user:[email protected]

でも全然OK。

いったんこのURIでアクセスした後は既に認証が通っている状態になるらしく

https://foo.net
http://foo.net

とアドレス欄の内容を修正してから再アクセスしてもid/pwを尋ね直されることは、もう、ない。

注意点・リスク

  • idとpwの文字列が(リクエストURIとして)インターネット上を流れていく、ということの危険性を理解し、割り切ったうえで使用せねばなりません。
  • ひとたびhttps://user:[email protected]でアクセスすると、サイト内の遷移リンク、たとえば<a href="directory">link</a>を押下しても、https://user:[email protected]/directory/という具合にホスト名の前にuser:passwordズ~ッとついて来続けます(外れません)。
    • つまり、その試験中のスクリーンショットを開発チーム内で共有したりすると、ついでにid/pwを喧伝しているようなことになります。危険

*あとがき

ベーシック認証をURLに直接書く
を参照にしました。というかこのテクニック自体は他の場面で以前から利用していたけれど、 Android 2.xでのトラブルに効く、と教えてくれたのは仕事場の同僚のおかげです。感謝。