微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 http 休息调用时从后端启用浏览器 UI 重定向?

如何解决如何在 http 休息调用时从后端启用浏览器 UI 重定向?

我用谷歌搜索并阅读了多篇文章,以找出将浏览器中的 UI 页面重定向到后端服务的另一个页面解决方案。我没有得到我想要的东西,所以希望这个问题,我会得到解决方案。 :)

我的要求: 我在三个不同的端口上运行了以下三个服务,如下所示:

appA 以 angular 开发,运行在 http://localhost:4000

loginPage 在 http://localhost:4200 上运行 angular 开发

授权服务器由Golang开发,运行在http://locahost:8080

我在浏览器中启动了应用程序 appA,然后单击重定向到应用程序登录页面登录按钮。现在在 loginPage 上,用户提供凭据并单击按钮,angular 在内部对授权服务器进行 http 调用以验证用户

凭据验证成功后,授权服务(其余端点)将该 loginPage 重定向到浏览器端的应用程序 appA 主页。

问题

凭据验证成功后,授权服务正在将 loginPage 重定向到应用程序 appA 主页,我可以在浏览器网络选项卡中看到这一点,但浏览器页面没有在重定向的 url 上重新加载。

我的要求是在浏览器上加载重定向的 url。

问题 以下是我的问题:

  1. 是否可以将浏览器 url 从一个重定向到另一个点。
  2. 如果是,请告诉我解决方案。我已经在 angular 中尝试了 httpInterceptor 方法在这里,我们也在用 angular 代码重新加载页面,而不是从后端发生。所以这不是我要找的。​​li>
  3. 如果没有,那么其他地方是如何实现的。

例如: 我想使用谷歌帐户登录 makeMytrip 应用程序。在那里我们重定向到谷歌登录页面,并在身份验证后,谷歌重定向回 makeMytrip 主页。

注意:

OAuth2 协议完全基于它。他们是如何实现的。

我也不想使用有自身限制的表单提交方法

由于此场景在现实世界中的多个地方使用。请帮助我找到正确的可接受的解决方案,而不是解决方法或黑客类型的方法

解决方法

让 API 重定向前端是一件奇怪/不寻常的事情。

浏览器不会自动跟随重定向,但您可以手动读取响应对象的 Location 标头并手动更新 document.href

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。