2017-10-18 55 views
0

我有一个Web应用程序,当用户点击一个链接时,它将生成安全信息,并在安全信息通过身份验证时登录到外部应用程序。是否可以将登录表单发布到外部网络应用程序并重定向到该应用程序的首页?

在从安全考虑这一点,我不希望公开的网址,并要求在网页上的信息,所以不是我寻求解决方案来处理现场

我知道后面的过程Apache Components可以轻松地发送POJO内的发布请求,jersey client也可以通过web服务完成。但是,这里的要求还包括如果登录过程成功,让浏览器自动重定向到第三方应用程序的首页。

我的问题是什么可能是正确的解决方案来处理登录过程,并从网络上转到外部应用程序。

回答

0

假设你有:

  1. publicapp.com
  2. secretapp.com

成立publicapp.com的API张贴到自身的初始请求。当用户提交初始登录表单时,它会转到publicapp.com/login。此端点将预处理信息,然后将服务器发送到服务器请求secretapp.com/login。

如果secretapp.com/login接受其成功响应publicapp.com的信息,并且publicapp.com将客户端重定向至secretapp.com/home,并使用在JWT中编码的短期身份验证令牌。 secretapp.com,交换短期令牌的完整身份验证令牌。

在上面的场景中,实际登录端点永远不会公开。 secretapp.com还应该有IP白名单,只接受来自publicapp.com的登录尝试。您还可以在publicapp.com上进行大量过滤,以消除恶意请求,而不会打扰secretapp.com。

+0

谢谢。 '...和publicapp.com将客户端重定向到secretapp.com/home.'在这种情况下,如何保护重定向到'secretapp.com'而不携带进一步的secretapp认证信息?似乎只有登录为publicapp.com是受保护的,如果重定向暴露然后secretapp也妥协。 – Dreamer

+0

@Dreamer我加入更多的细节,希望涵盖你想要的。 – Trickycm

相关问题