有很多类似的问题被问到,但我并没有真正找到一个好的答案。这是场景。
鉴于:
三个不同域名的网站(不仅仅是不同的子域):
- 站点 1:域:CrossDomainServer.com - 我可以完全控制这个网站。服务器端技术——asp.net-mvc
- 站点 2:域:CrossDomainClient.com - 我只能要求他们的管理员在他们的页面上放置一些 javascript/html。
- 站点 3:域:CrossDomainEvil.com - 无权使用 CrossDomainServer.com 提供的服务的网站
目标:
- 当 CrossDomainClient.com 使用 CrossDomainServer.com 提供的 javascript 加载他们的页面时,需要检查是否允许 CrossDomainClient.com 使用服务。如果是,则显示这些服务,如果不是 - 显示登录表单。
- 登录后,当他们重新加载页面时,不应要求该站点再次登录。
- 登录 CrossDomainClient.com 后,应该能够通过 ajax 获取和发布数据到 CrossDomainServer.com。
- 如果 CrossDomainEvil.com 在他们的页面上放置了相同的脚本,当用户在 CrossDomainClient.com 上获得授权时,他们不应该被允许使用服务 - 他们应该看到一个登录表单。
似乎SSO不是我想要的,因为它允许单点进入多个系统。
如果有人能指出我关于如何实现这一目标的文章“傻瓜”,那将是最好的,因为我什至不知道从哪里开始。
任何帮助表示赞赏。