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

在不同域之间共享令牌

如何解决在不同域之间共享令牌

我正在寻找一种在一个 Web 应用与第二个 Web 应用的前端之间安全地共享令牌的方法

环境详情:

  • webapp.local一个 PHP 网络应用程序,它讲述一些仅限于特定用户的数据。此网络应用只能通过 VPN 访问。
  • otherwebapp.example:这是一个 Zendesk 实例,它允许我们创建一个在客户端加载的插件(HTML + JavaScript)。

注意事项:

  • webapp.localotherwebapp.example 使用不同的域(它们不是子域)。
  • otherwebapp.example 无法访问 webapp.local。但前端将能够(用户已连接到 VPN)。

我做了一些研究,发现了一些选择:

  • HTTP Coockies:“SameSite”必须是“None”(reference),这是一个安全的选择吗?我做了一些测试,似乎它们需要在同一个子域中。
  • JS postMessage:它需要打开一个弹出窗口或 iframe,我做了一些测试,但仍然试图让它工作。

问题是: 是否有最佳做法或其他方式在 Web 应用程序和位于其他域/应用程序上的前端之间共享敏感数据(令牌)?

解决方法

我认为没有一种完全安全的方法可以做到这一点,因为您想在客户端处理共享并且总是公开的,尽管您可以采取不同的方法,例如通过 GET 参数将请求令牌共享给第二个 webapp 并调用一个验证 API 来验证请求的来源(应该仅限于第二个 webapp 域)并验证传递的令牌,然后返回实际的会话令牌。

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