4

問題

example.com、example.org、example.netがあるとしましょう。

これらのサイトはすべて、同じベースのユーザー資格情報に対して認証するログインを持っています。

私は、1つの場所にのみログインする効率的な方法を探していますが、それでもサイトのサイトに透過的にログインする機能を持っています。

私の現在の解決策
は...iframeがサイトの1つ(私はメインサイトと呼んでいます)にリソースをロードすることです。ユーザーがメインサイトにログインしている場合は、トークンを使用してページを更新し、を介してユーザーに自動的にログインします。いくつかのJavaScript。

しかし、これはいくつかの理由で本当に非効率的で安全ではありません。

  • ユーザーはメインサイトでログインする必要があります
  • ユーザーは、クライアント側のコードを使用してページを更新する必要があります(これを回避できない可能性があることを認識しています)。
  • iframeの使用は一般的に眉をひそめ、ブラウザプラグインがこれらをブロックしているものもあります。

私が探していない
ものFacebook、Google、OpenIDプロバイダーなどのサードパーティプロバイダーを使用することに興味がありません。これは、ユーザーがサービスを使用するためにサードパーティのWebサイトに登録する必要があるためです。

特定の質問に要約すると、
GoogleやStackOverflowと同じように、サイト認証間のプロセスは透過的であるように思われます。同様のものが必要です。私の現在のソリューションに対するより良いオプションは何ですか?

4

1 に答える 1

4

コードを共有することはできません...しかし、私が実装したソリューションには、すべてのサイトの認証を処理する仲介者が含まれていました...これをSSOブローカーと呼びました...。

基本的に、すべてのログイン要求はSSOブローカーを経由し、sitebにアクセスしようとしたときにすでにsiteaにログインしているかどうかを判断します。

...私たちがそれをどのように実装したかについてあなたに指摘できるクローゼットは次のとおりです: http ://www.jasny.net/articles/simple-single-sign-on-for-php/

他のssoソリューションもすべてその場所を持っていますが、必要以上に複雑なものもあります。

もう1つの簡単なアプローチは、(安全な)トークンを相互に渡すだけです。

于 2012-06-18T09:56:21.237 に答える