0

我希望你能帮助我,或者至少给我一些解决方案的建议。

背景:我们有一个包含一般信息的重力 CMS 站点、一个博客等(example.com)。在子域(用 Ruby(后端)和 Angular(前端)创建的 test.example.com)上,我们有一个完全开发的双面平台。

问题:我需要在 example.com 上创建一个特定的登录页面。此登录页面必须包含一个注册表单,我需要能够在其中读取子域上输入的数据。

例如:example.com/landing-page1 有一个包含电子邮件、用户名和密码的表单。test.example.com 是一个完全开发的平台,具有注册流程。在 example.com 上提交表单时,它应该打开一个带有 test.example.com/sign-up 的新窗口,从中读取来自 example.com 上的表单的数据。

如我所见,最好的解决方案是创建一个 cookie,它可以从 test.example.com 读取。那可能吗?

据我了解,要在 Grav 中执行此操作,我需要创建一个可以创建此 cookie 的插件,然后我需要修改平台以便它可以从 cookie 中读取。我认为我也需要实施 CORS 来做到这一点。

非常感谢任何建议或帮助。

4

2 回答 2

1

可以让 cookie 在两个域之间共享,但您必须对创建 cookie 的服务做一些额外的工作。有关其工作原理的更多详细信息,请参阅此答案

在重力方面,你是对的。您需要实现一个插件(请参阅 dev-tools 插件),该插件随后将读取此 cookie。如果我在做这个项目,我会设置插件将 cookie 信息存储为 twig 变量。

或者,您的插件可以简单地从数据库中读取。

于 2017-10-24T15:30:09.067 回答
0

我最终采用了与上述不同的方法,因此我可以摆脱创建重力插件的麻烦。我让 example.com 上的表单向子域发送了一个 GET 请求,然后通过 URL 传递变量。然后我创建了一个服务来存储这些数据,然后我将其注入到我需要访问数据的角度模块中。

于 2017-10-25T17:44:46.203 回答