追記。「ログインページを介さず Basic 認証」シリーズの投稿一覧です♪
- 【Nginx】Basic 認証をかける方法手順メモ | oki2a24
- cURL を使って Basic 認証が必要な PHP へ JSON データを POST する手順メモ | oki2a24
- AngularJS を使って PHP へ JSON データを POST する方法 | oki2a24
- AngularJS を使って Basic 認証が必要な PHP へ JSON データを POST できません>< | oki2a24
- AngularJS を使って Basic 認証が必要な PHP へ JSON データを POST するサンプルコード! | oki2a24
追記終わり!
ウェブサーバに Basic 認証をかけ、JSON の POST を受け取る PHP プログラムの準備
次のページを参考に準備いたしました。Nginx の設定内容や、JSON を扱う PHP の内容はすべてコピーで作ることができました。
次のようなテスト環境といたしましたの。
- https://oki2a24.com/basictest/json.php へ JSON を POST
- Basic 認証のユーザ名: basicuser、パスワード: basicpass
- 正常時のレスポンス: {“response”:”OK”}
1.Basic 認証で失敗することを確認
Mac のターミナルから、curl コマンドで JSON を POST いたしました。まずは失敗することの確認です。
Basic 認証情報を付けずに送ってみましたの。
$ curl -X POST -d '{ "total":"8", "page":"1", "records":"8", "rows":[{ "id":"1001", "cell":["1001","オペレータ1001","オペレータ1001","1001","1001","0","2012-07-26 14:07:21"] }] }' https://oki2a24.com/basictest/json.php <html> <head><title>401 Authorization Required</title></head> <body bgcolor="white"> <center><h1>401 Authorization Required</h1></center> <hr><center>nginx</center> </body> </html> $
予定通り失敗です。
また、次のように誤った認証情報を付けた場合も同様に失敗することを確認いたしました。
$ curl -u aaa:bbb -X POST -d '{ "total":"8", "page":"1", "records":"8", "rows":[{ "id":"1001", "cell":["1001","オペレータ1001","オペレータ1001","1001","1001","0","2012-07-26 14:07:21"] }] }' https://oki2a24.com/basictest/json.php
2.Basic 認証が成功することを確認
先ほど、間違えれば通さない部分を確認できました。続いて、正しければ通る部分を確認いたします。
$ curl -u basicuser:basicpass -X POST -d '{ "total":"8", "page":"1", "records":"8", "rows":[{ "id":"1001", "cell":["1001","オペレータ1001","オペレータ1001","1001","1001","0","2012-07-26 14:07:21"] }] }' https://oki2a24.com/basictest/json.php {"response":"OK"}$
正常時のレスポンスが得られました。また、サーバにも、POST した情報が予定通りファイルとして出力されていることを確認しました♪
おわりに
curl コマンドを使用して、Basic 認証がかかった場所へ JSON を POST することができました♪
次は、AngularJS から同様に送信してみたいですわ♪
以上です。