将数据从一个页面 (CMS) 发送到子域(平台)

Send data from one page (CMS) to subdomain (platform)

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

上下文:我们有一个包含一般信息、博客等的 grav CMS 站点 (example.com)。在子域(测试。example.com 在 Ruby(后端)和 Angular(前端)中创建)我们有一个完全开发的双向平台。

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

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

据我所知,最好的解决方案是创建一个可以从测试中读取的 cookie。example.com。这可能吗?

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

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

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

在 Grav 方面,你是对的。您需要实现一个插件(请参阅开发工具插件),然后该插件将读取此 cookie。如果我在做这个项目,我会设置插件来将 cookie 信息存储为一个 twig 变量。

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

我最终采用了与上述不同的方法,因此我可以不用创建 grav-plugin。 我在 example.com 上创建了表单,向子域发送 GET 请求,然后通过 URL 传递变量。然后我创建了一个服务来存储这些数据,然后我将其注入 angular 模块,在那里我需要访问数据。