別のセッションインスタンスのセッション値を読み取る必要がある PHP で何かをしています。例
Browser1: $_SESSION['value']="user1";
Browser2: $_SESSION['value']="user2";
Browser1 は、特定のリクエストから「user2」値を取得する必要があります。リクエストには cookie(key, value) も含まれます。
どうやってやるの?
ありがとう、ワエル
別のセッションインスタンスのセッション値を読み取る必要がある PHP で何かをしています。例
Browser1: $_SESSION['value']="user1";
Browser2: $_SESSION['value']="user2";
Browser1 は、特定のリクエストから「user2」値を取得する必要があります。リクエストには cookie(key, value) も含まれます。
どうやってやるの?
ありがとう、ワエル
1台はSSO(シングルサインオン)対応のPHPサーバー、もう1台はRuby on Rails(ROR)上で動作するWebアプリケーション
[...]
ただし、ROR サーバーがブラウザーに代わって SSO で認証要求を送信する必要がある新しい機能を実装する必要があります。
SSO モデルはそのように機能する必要はありません。実際、そうすべきではありません。
通常、SSO は次のように機能します。疲れていて正式な名前を覚えていないので、標準外の名前を使用しています。
Page Server が End User を「偽装」することはありません。また、Page Server または Authentication Server が互いのエンド ユーザー セッション データにアクセスする必要もありません。
Page Server がユーザーの資格情報のコピーを取得することは決してありません。 エンド ユーザーの実際の認証は、認証サーバーでのみ行われます。Page Server は、Authentication Server が適切なリクエスト トークンを使用してユーザーを返送した後、ユーザーに関するデータをリクエストします。
必要に応じて、このプロセスをより複雑にすることができます。たとえば、認証サーバーがユーザーを戻す URL は、カスタマイズ可能である必要がある場合があります。認証サーバーへのエンド ユーザー リクエストに戻り URL を含めることができますが、そうする場合は、途中で悪意のあるクレチンによって操作されないように、(HMAC などを使用して) 署名する必要があります。
泥のように透明?
アプリケーションのすべてのユーザーがアクセスできる、ある種のデータ ストレージ システムを作成する必要があります。Cookie とセッションは、現在のユーザー/ブラウザーに限定されます。
データベースまたはファイルは、使用する必要があるものの例です。
デフォルトのセッション ストレージはファイルです。他のファイルにアクセスするのと同じように、各ファイルにアクセスできます。セッション データはエンコードされているため、使用する前にデコードする必要があります。のコメントには、これに対する多くの解決策があります
session_decode
- session_decode — 文字列からセッション データをデコードします