【发布时间】:2020-04-02 04:58:44
【问题描述】:
我正在开展一个项目,我们决定将我们的代码库分成两个独立的存储库(一个反应前端和 .net Web API 后端)。我们在服务器上运行后端并在本地运行前端没有任何问题,但是当需要将前端项目移动到服务器时,我们开始遇到问题。
后端项目使用 .NETs 身份验证来管理会话。我们能够从前端对后端进行匿名 API 调用。但是,任何需要授权的调用都失败并出现 404 未找到。我认为这是因为会话 cookie 没有随 API 请求一起发送,尽管我可能是错的。
我们使用 fetch 从前端进行 API 调用,下面是调用主体的示例:
{
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json'
},
credentials: 'include',
}
后端 .NET 项目设置为允许来自任何地方的 cors,但我不确定是否需要对服务器进行额外更改,或者是否应该尝试将前端移动到同一服务器。
前端使用 Firebase 托管
后端正在使用 Azure
我会在帖子中更新所需的任何其他信息!
我对托管或服务器不是很熟悉,所以如果能提供任何帮助来解决这个问题,我将不胜感激!
【问题讨论】:
-
你说本地到服务器工作正常。所以会话 cookie 是通过 API 发送的。添加 404 的日志跟踪,并检查您是否已将与 CORS 相关的 localhost URL 列入白名单。如果您需要打开任何特定的端口以允许调用,也请检查 azure。
-
您的cookie域或路径可能有问题???
标签: reactjs azure asp.net-web-api session-cookies asp.net-authorization