同様の質問がたくさんありますが、私は本当に良い答えを見つけられませんでした. これがシナリオです。
与えられた:
ドメイン名が異なる (サブドメインが異なるだけでなく) 3 つの Web サイト:
- サイト 1 : ドメイン: CrossDomainServer.com - 私はこの Web サイトを完全に管理しています。サーバー側のテクノロジー - asp.net-mvc
- サイト 2 : ドメイン: CrossDomainClient.com - 管理者に、ページに javascript/html を配置するように依頼することしかできません。
- サイト 3 : ドメイン: CrossDomainEvil.com - CrossDomainServer.com が提供するサービスを使用する権限がない Web サイト
目標:
- CrossDomainClient.com が CrossDomainServer.com によって提供される JavaScript を使用してページをロードする場合、CrossDomainClient.com がサービスの使用を許可されているかどうかを確認する必要があります。存在する場合は、これらのサービスを表示し、存在しない場合は、ログイン フォームを表示します。
- 一度ログインすると、このサイトは、ページをリロードするときに再度ログインするよう求められるべきではありません。
- CrossDomainClient.com にログインすると、ajax を介して CrossDomainServer.com にデータを GET および POST できるようになります。
- Noah は、この要件を解決するための優れた記事を参照しています。
- また、これをasp.net-mvcに実装する方法についての良い答えもあります。
- CrossDomainEvil.com が同じスクリプトをページに配置した場合、ユーザーが CrossDomainClient.com で承認されている場合、サービスの使用を許可されるべきではありません。ログイン フォームが表示されます。
SSOは、複数のシステムへの単一のエントリ ポイントを許可するため、私が探しているものではないようです。
どこから始めればいいのかわからないので、誰かがそれを達成する方法についての「ダミー用」の記事を教えてくれたら最高です。
どんな助けでも大歓迎です。