0

これが取引です。barryvdh/laravel-corsおよびtymondesigns/jwt-authを使用して Laravel5 バックエンドと通信する「 satellizer」および「angular-jwt 」を備えたionicアプリがあります。このコンボを実行すると、ホームステッドでイオンサーブと組み合わせて正常に動作します。認証トークンが作成されて localStorage に保存され、Laravel で検証されます。このリクエストは次のようになります。

[IONIC SERVE] http://192.168.1.54:8100/#/auth
[POST] http://192.168.10.10/api/v1/authenticate?email=[email]&password=[password]  
Returns [the_token]  
[GET] http://192.168.10.10/api/v1/authenticate/user?token=[the_token]  
Returns the user object from Laravel

API URLをライブサーバーに変更するとすぐに

[POST] http://domaintomyvps.com/api/v1/authenticate?email=[email]&password=[password]  
Returns [the_token]  
[GET] http://domaintomyvps.com/api/v1/authenticate/user?token=[the_token]  
Returns {"error":"token_not_provided"}   

認証は正常に機能し、トークンが返されました。しかし、get リクエストを送信すると、「token_not_provided」というエラーが表示されます。

その後、奇妙なことが起こります。Chrome Postman から同じリクエストを試行すると、トークンが検証され、ユーザー オブジェクトが返されます。

私のホームステッドは、VirtualBox で Vagrant として、Ubuntu で Nginx として実行されています。私の本番サーバーは、VPS 上の Apache を使用した Debian です。Laravel のインストールは、設定とキーに関して同一です。データベースはまったく同じ (mysqldump) であり、Postman が正常な結果を作成するため機能します。

私を正しい方向に導くことができる人、または同じ問題を抱えている人はいますか? セットアップまたはコードに関して、さらに情報が必要ですか?

4

1 に答える 1

2

これで私の問題は解決しました。以下を apache .htaccess disable apache に追加して、リクエストから認証ヘッダーを削除します。この回答は次のスレッドで見つけました:次のスレッド

RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]
于 2015-10-08T19:10:22.800 に答える