1

複数の (既存の) Web ソリューションに「真の」SSO を実装するためのソリューションを評価しようとしています。ここでの真の SSO とは、任意のサービスにログインし、ユーザーがそれ以上の操作をしなくても、すべてのサービスで認証されることを意味します。

これから使用するすべてのアプリケーションは OpenID をサポートしているか、OpenID を許可するプラグインを備えているため、これは検討する価値があるように思えます。ただし、OpenID を理解しているので、ユーザーは各サービスで OpenID 資格情報を入力する必要があります。

OpenID プロバイダーがユーザーを認証したら、自動ログインで SSO を実装する適切な方法はありますか?

以前のプロジェクトでは、2 つのアプリケーション (両方とも同じドメインとサーバーで実行されている) のログイン プロシージャで PHP セッション データをハッキングしました。そのため、最初のアプリケーションでログインすると、他のアプリケーションのセッション データも作成されます。ただし、これは非常にハックなソリューションであり、いずれかのアプリケーションが更新されると壊れやすいため、今回は回避しようとしています。

他に検討できる SSO ソリューションはありますか?

4

2 に答える 2

0

私はあなたが SSO の実装を制御できると仮定しています

ユーザーが SSO アプリケーションによって認識されると、そのユーザーが他のアプリケーションに事実上自動的にログインするようにするためにできることがいくつかあります。

  1. SSO アプリケーションで、サービス プロバイダーのホワイトリストを作成します。これらの Web サイトからの認証要求は自動的に承認されます。したがって、ユーザーはリクエストを手動で承認するよう求められません
  2. アプリケーションで、ユーザーがすぐに開く予定のページとして return_to パラメーターを設定します。return_to を単にそのアプリケーションのホームページに設定しないでください

ちなみに、最も標準的な openid の実装では、任意の URL を受け入れます。ただし、制御された環境で sso を使用する場合は、サービス プロバイダーが信頼できる ID プロバイダーのホワイトリストを持つように設定できます。結局のところ、openid 認証を開始したのはサービス プロバイダーです。

于 2012-07-28T19:28:50.863 に答える
-1

はい、これを行う手段があります。アプリケーション サーバー、ノード ベースを実行し、クロスドメイン技術を登録して、Cookie 資格情報を提供します (新しいユーザーが到着するたびにサイト ハンドシェイクによってバックアップされ、より適切にスケーリングし、セッションごとのリソース消費を最小限に抑えます)。

私は今、そのような獣に取り組んでおり、5/6 完了しています。

一意のユーザー ログオンを保証する手段を含め、いくつかの厄介な変数を前もって処理し、他の問題にも立ち向かいました。1 つのシステムですべてを実行することはできません。ただし、いくつかのストップを引き出す意思がある場合は、真の SSO を使用できます。あなたのソリューションを定義するのはあなたのストップです。制限を正確に描写していない場合、ここで実装するために提供できる解決策はなく、問題の性質は完全に実装であり、理論ではありません。理論的には、4 ~ 5 の異なるオプションがあります。実際には、あなたはあなたの答えを見つけるでしょう。

于 2013-03-26T08:58:16.993 に答える