在我的域中的另一个域上填充用户名和密码?

问题描述:

我收到了一个请求,但我找不到实现它的安全方法。如果你知道一个安全的方法来做到这一点,请让我知道。在我的域中的另一个域上填充用户名和密码?

我正在使用ASP.NET MVC开发www.abcd.com。客户端已经有一个带有认证系统的xyz.abcd.com域。他们希望我在www.abcd.com上创建一个页面,用户可以在其中输入用户名和密码,然后通过点击登录按钮,在新窗口中打开xyz.abcd.com/login页面并填充用户名和密码与用户在我的页面中输入的内容。

  1. 我无法从服务器端找到办法。
  2. 如果我想在客户端执行此操作,我认为它违反了“同源策略”,并且我不确定在www.abcd.com和xyz.abcd.com上运行SSL是否安全足以做这样的事情。

如果有安全的解决方案,请让我知道吗?

我认为子域名应用程序(在xyz.abcd.com上)应该有明确的支持,例如从请求参数填充它的字段或者可能是一个cookie(尽管我宁愿不这样做,特别是不是在密码的情况下)。

如果子域名应用程序不支持这一点,我认为你不能填充它的字段,甚至不能从abcd.com填充,更不用说来自另一个域名。

请注意,它会是一个自动填充密码字段的漏洞(当然也是最佳做法),甚至应该设置autocomplete =“off”以防止浏览器本身填充它。

不知道这些应用程序的上下文,我怀疑你需要某种单一登录才能实现真正的目标。

+1

感谢您的回复,我同意您的意见,并且对于任何跨域身份验证,OAuth 2已经存在。我应该说服客户,这不是一个好的解决方案。再次感谢。 –