2017-12-18 8 views
3

ここで私の心が失われています。私は正しい方向を指し示すための助けが本当に好きです。複数のWebサイト(複数のデータベース)にまたがるSSO

私はGoDaddy上で共有Linuxサーバーを使用しています.2つのPHP Webサイトと2つの別々のMySQLデータベースで認証された別々のユーザーログインがあります。私が望むのは、ユーザーがサイト1にログインし、サイト2に自動的にログインすることです。そして、どちらのサイトからもログアウトすると、両方のサイトからログアウトする必要があります。

私は現在SimpleSAMLphpがインストールされています。IdPとSPの設定方法については、本当に参考になります。サイト1とサイト2がSPであると思うのは正しいですか?

ご指導いただければ幸いです。これは初めてのSSO設定であり、ちょっとしたことです。

答えて

1

シングルサインオンを実装するには、両方のWebサイトで認証する必要はありません。 2つの異なるサイトが存在するため、クッキーは役立ちません。クッキーを別のウェブサイトに公開することは好ましくありません。

一般に、SSOは、基本的に認証データを処理するセントラルセグレーブを使用して実装されます。

基本的な手順は以下のとおりです。ログインの

  1. を、ユーザーが共通のサーバーにリダイレクトされ、資格情報を検証します。

  2. セントラルサーバーは、ログイン用のCookieを設定します。

  3. 他のWebサイトでログインが必要な場合、リダイレクトを使用して再度中央サーバーをチェックします。

  4. 次に、中央サーバーはCookieをチェックし、以前に認証されていない場合はログインするように認証またはリダイレクトします。

したがって、認証を確認し、適切な応答を提供する中央認証サーバーを構成し、両方のWebサイトでそれに応じて処理することができます。

しかし、セントラルサーバーには共通のユーザーデータベースが必要です。このユーザーデータベースには明らかに欠けています。したがって、ウェブサイトの1つを中央または主要リソースとして宣言し、詳細を確認するためにユーザベースを公開する他のウェブサイトのAPIを公開することができます。

1つのWebサイトでログインプロセスを処理させます。他に認証が必要な場合は、ユーザーをメインWebサイトにリダイレクトし、返信応答を処理します。

理論的にはたくさんありますが、助けてくれることを願っています。

便利なリンク:

  1. Building and implementing a Single Sign-On solution

  2. Basics of Single Sign on (SSO)

+0

すべてが理にかなっていると私はそれを買ってあげること、ありがとうございました。あなたの指導に感謝します。 –

関連する問題