gpt4 book ai didi

同一端口上的 Angular 和 Go 服务器

转载 作者:数据小太阳 更新时间:2023-10-29 03:24:29 29 4
gpt4 key购买 nike

我正在创建一个 Web 项目,我在其中集成了用于前端的 Angular 和用于后端的 Go。对于后端,我需要使用 HTTP Web 服务器以便使用 RESTAPI 显示数据,但是,我的问题是我无法在端口 80 上运行两个服务器(这是基本知识)。但我想知道是否有解决办法。我用前缀/backend/作为我所有后端页面的前缀(例如 https://example.com/backend/auth ),因此不应该发生任何文件/页面冲突。

我尝试完成此操作的主要原因之一是因为我想在后端为网站设置 cookie,因为这对我的情况来说更容易和更简单,但我不确定如何因为除非它们在同一个端口上,否则它们不会共享相同的 cookie。

非常感谢任何帮助,谢谢。

最佳答案

  1. 如果前端和后端都在同一台服务器上(但端口不同),它们会共享 cookie 吗?
    是的,他们会的,check this SO answer。根据最新的 RFC,给定主机的 cookie 在该主机上的所有端口之间共享。

  2. 如何从前端到后端验证用户帐号?
    a) 如果使用社交身份验证,检查这个 SO question 和这个 great article 。简而言之,您的前端从 OAuth 获取访问 token 并将其传递给后端,后端可以调用 OAuth 提供程序(例如 Graph API)来验证访问 token 。创建一个新 session 并传递给前端。

    b) 如果不使用社交身份验证,您的用户将输入前端将收到的用户名/密码。它可以将这些凭据传递给后端,然后后端将生成一个 session 并传递给前端。

    c) 在a)和b)中,前端使用后端提供的 session 信息创建cookie。在每个用户请求上,前端都会收到 cookie,因此前端必须在每个用户请求上验证与后端的 session 。

    d) 更好的方法是将 cookies 替换为 JWT Tokens,但流程将保持不变。

关于同一端口上的 Angular 和 Go 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45788128/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com