シングルサインオンの仕組みを誤解していると思います。
シングルサインオンを使用するウェブサイト1とウェブサイト2を考えてみましょう。
ログインWebサイトは、identityProviderで作成されます。これはログオン画面が表示される唯一の場所です。
ユーザーがwebsite1にアクセスし、ログインすることを選択すると、website1がユーザーをidentityProviderのログオン画面に送信します。ユーザーは、そのドメインの独自のログインCookieを削除するidentityProviderにログオンします(ユーザーが認証情報を保存して、再度プロンプトが表示されないようにすることもできます)。その後、ブラウザはウェブサイト1に戻ってブラウザにリダイレクトされます。リクエストにトークンが含まれていれば、そのウェブサイト1は開かれ、アイデンティティ情報を取得して独自のログインビットを実行します(独自の認証Cookieを削除します)。
次に、ユーザーはwebsite2にアクセスしてログオンを選択します。 Webサイト2は、ユーザーが誰であるかを既に知っているidentityProviderにバウンスされ、ユーザーがログイン情報を保存することを選択した場合、暗黙的に認証され、web2が開かれた別のトークンでWebサイト2にリダイレクトされ、
セキュリティの束が
は、だからあなたの懸念に対処するために
- ユーザーがログオンなどのみトークン等ホワイトリストのWebサイトに送信することができるように、特定のWebサイトへのトークンを制限し、その周りにありますウェブサイト1に移動し、ウェブサイト2に移動します。ウェブサイト2は、ユーザーがログインしたことをどのように知るのですか?それはしません。 Webサイト2はまずシングルサインオンサイトから認証情報を要求する必要があります。私はマーシャルにWEBSITE2するのにかかるWEBSITE1内のすべてのURLを必要とする意味
- ?あなたがウェブサイト1をアイデンティティプロバイダにしない限り、いいえ。それでも、トークンが必要な場合は、website2にidentityproviderにリダイレクトさせる方が苦しいでしょう。第二に
- ユーザーであれば、1時間と言うためにWEBSITE2を閲覧し、WEBSITE1に移動し続けます。その時までにウェブサイト1のセッションがタイムアウトしたので、ユーザーはログインページを見るでしょうか? - それはwebsite1の設定方法と、認証Cookieの存続期間によって異なります。
- しかし、この動作は機能シングルサインオンごととして間違っています。いいえ、ちがいます。シングルサインオンは、サイト間で共有されるフローティングトークンを取得することを意味しません。シングルサインオンを使用する各Webサイトは、独自の認証Cookieを作成します。ユーザーは、それが期限切れの認証Cookieを検出しWEBSITE1に戻ったら何が起こる可能性があることは、彼らが認証されている(静かに)して、新しいトークンは、新しいを作成WEBSITE1に押し戻される場合、再びシングルサインオンページへのオフをユーザに送信し、あります自身のための認証クッキー。
これはシングルサインオンであり、シングルサインオンではなく、同じ認証でN個のサイトに対してN回サインインする必要があります。 –
認証と認可を区別する必要があります。あなたは、彼らがあると主張する人を知っていることをユーザーに許可することができますが、あなたはまだ彼らができるコンテンツにアクセスするために、あなたの2つのウェブサイトのいずれかで、そのユーザーを承認する必要があり、各サイトにアクセスすることはできません。トークンは期限切れになりますが、通常はアクセスを維持するためにリフレッシュできます。 – htm11h