1

たとえば、2つのアプリがあります。1つはにabc.comあり、もう1つはにありxyz.comます。

今私がやりたいのは、1人のユーザーがログインするとabc.com、そのユーザーもxyz.com自動的にログインするということです。ログインした後、ブラウザの新しいタブでabc.com開くと、すでにログインしていることが表示されます。xyz.com

と同じです。ログインして開くmsn.comと、すでにログインしていることがわかります。hotmail.commsn.comhotmail.com

CIを使用しており、ログイン情報としてCIのセッション関数(実際にはCookie)を使用しましたが、異なるドメイン間でCookieを共有できないようです。

CURLを使おうとしましたが、CURLではxyz.com 実際にCookieを作成できません。

また、Googleを検索したところ、多くの人がセッションIDを渡すことを提案しましたが、問題は、との間abc.comxyz.comリンクがないことです。どうすればセッションを渡すことができますか?セッションIDをデータベースに保存する場合、どのユーザーがこのセッションIDを使用する必要があるかをどのように識別できますか?IPによって明らかに安全ではありません:D

私を助けてください!

4

2 に答える 2

2

xyz.comでabc.comに接続するiframeを開き、ajax / jsを使用して、iframeからjs関数を呼び出すことにより、ある種のトークンをiframeからxyz.comに転送できます。

したがって、次のようになります。

XYZ.com:

function authAbcUser(token) { 
    //During this function you will set a cookie for this user on XYZ.com
}
<iframe height="0" width="0" src="http://www.abc.com/auth.php?token"></iframe>

ABC.com/auth.php:

parent.authAbcUser(token);
于 2011-01-27T07:46:42.673 に答える
0

これを使用して、CIで機能するようにしてください

http://www.assembla.com/wiki/show/attachpass/Single_Sign_On_Process

于 2011-02-20T17:31:14.143 に答える