2011-07-30 15 views
0

私はログインしたユーザーのためにPHPセッションを広範囲にわたって使用してユーザーセッション状態を維持する一連のPHPサーバーサイドスクリプトを用意しています。ajaxリクエストの独立したサーバーセッションを確立しますか?

クライアント側のモバイルアプリで、Jquery ajax経由で、すでに確立されているセッションを中断しない独立したセッション(別のユーザーとして認証済み)を確立する必要があります。言い換えると、サーバーには別のブラウザーセッションのように見える必要があります。

Jquery/Javascriptクライアントサイドでこれを特定のリクエストに対してのみプログラムで実行する方法はありますか?

+0

あなたはPHP側でどのような種類のフレームワークを使用していますか? – andho

+0

私はPHPログインスクリプトフレームワークを使用しています - hybridauthはhttp://hybridauth.sourceforge.net/、またはgithub fork(https://github.com/smarcombes/HybridAuth)にあります。私は正常にフレームワークを使用して私のユーザーをログインさせていますが、問題は、現在のセッションからログオフせずに、そのユーザーの他のソーシャルプロバイダデータを取得するためにフレームワークを使いたいということです。私は別のインスタンスを作成したくない/別のドメイン/サーバー上にハイブリッド自動インストールをインストールするだけで、セッションを別々に保つことができます。プライマリセッションからユーザをログアウトせずに従属コールを許可する方法が必要です。 – Inator

+0

モバイルアプリでは、他のどのユーザーが認証されていますか?ユーザーは資格情報を送信するのか、それともクライアントに組み込まれていますか? – andho

答えて

0

PHPのセッションは、一般的にクッキーとして渡される識別子を使用して送信されます。マニュアルのPassing the Session IDセクションを参照してください。

これは、その識別子(クッキー)がAjaxクエリに渡されないと、そのクエリを介して呼び出されるPHPスクリプトは、ユーザが同じであるとはみなされません。彼を別のものとして見るでしょう。

基本的には、Ajaxリクエストを実行するときに、そのセッション識別子を渡す方法を見つける必要があります。
もちろん:クッキーを削除しないでください。セッションを失うことを望まない場合は、他の種類のリクエストのためにここに残る必要があります。

0

おそらく、元のサーバー/ドメインとセッション情報を共有しない別のサーバー/ドメインを使用する方がよいでしょう。