我的基于节点的Web服务链接到外部第三方站点,该站点需要我们也拥有的用户名/密码(但与我们的webservice的登录名不同)。为了提供无缝的用户体验,当用户点击第三方网站的链接时,我想使用用户名/密码自动登录,并将它们直接带到外部页面的仪表板。
至少,我想使用此信息预先填充第三方登录表单,但this post detailing a similar situation并不会让我乐观。
我认为第三方网站不支持OAuth或现有的SSO协议。我不能使用iFrame。一个可行的选择似乎是使用some kind of proxy,或使用请求(或令牌?)到第三方网站。
知道我无法控制第三方登录,有哪些高级选项可以实现最终目标?在选择解决方案时,我需要注意哪些事项?
答案 0 :(得分:2)
简短的回答是,如果外地网站在表单上使用CSRF保护,或者不允许表单输入的查询字符串参数,则无法完成此操作。
以下是您可以尝试的内容:
检查登录页面的源代码,并使用查询字符串中的HTML输入名称标记值进行重定向。因此,如果表单包含用户名和密码输入字段,则您可以使用这两个名称。
现在 - 请记住,您尝试做的事情通常不是一个好主意。
为另一个网站存储用户的凭据是一个巨大的安全风险,并不是一个好主意。如果网站/服务没有提供SSO / Oauth,将来这可能会成为您的问题。
除此之外,还有一些可能发生的坏事: