Ionic を使用して Codeigniter/Ion_Auth/codeigniter-restclient の上にログイン システムを構築しています。「ionic サーバー」からログインしようとすると、ログインは機能しますが、logged_in() メソッドへの次の API リクエストは false を返します。
ブラウザで www フォルダを指定すると、同じことが正しく機能します。
だからここに問題の段階があります:
イオンサーブを実行する
ログインフォームが表示されます ( http://localhost:8100/#/app/login )
メールアドレスを入力して渡す
残りのAPIは「ログイン成功」を返します
$state.go('app.profile') は動作し、http://localhost:8100/#/app/profileにリダイレクトします
REST get api/logged_in が false を返し、ログイン ページにリダイレクトする
通常のブラウザーで同じことを行うと、ステップ 1 は次のようになります。ブラウザーを開いてhttp://localhost:8888/App/www/#/app/loginに移動し、ステップ 6 で REST get api/logged_in が true を返します。ログイン ページにリダイレクトされず、プロフィール ページにとどまります。
コードは同じです。私の推測では、ion_auth が必要な Cookie を取得できないか、セッションがリセットされている可能性があります。この時点で、何が問題なのかわかりません。これは私の最初の Ionic/App プロジェクトであるため、ブラウザーで動作するコードを使用してモバイル アプリから認証する適切な方法について何かが欠けている可能性があります。
ありがとうございました
更新:「イオン サーバー」ウィンドウを使用すると、API へのすべての要求が新しいセッションをトリガーするようです。新しいセッションはデータベースに保存され、ion_auth はログインの詳細が含まれていない最後のセッションに対して、logged_in をテストします。