API 如何使用 CORS 策略来为多个应用程序提供服务

How do API work with CORS policies to serve multiple apps

我正在创建一个 API 来为我的前端应用程序提供数据。 API 在 api.myapp.com 上,应用程序在 www.myapp.com 上(同一个域,只是另一个子域)。他们与 AJAX 请求通信,并且 CORS 已全部设置,工作正常。

但我在另一个域 (www.myotherapp.com) 上有另一个应用程序,它部分使用与我的应用程序相同的数据,所以我正在考虑重用 API,这样 myotherapp 也可以从它请求数据。

我认为这是 API 的一个用例,可以重复使用,对吗?

但是,我可能漏掉了一些东西,因为我的 API 启用了 CORS 和“Access-Control-Allow-Origin: www.myapp.com”,它不允许其他应用程序使用它的端点,对吗?他们的 AJAX 请求将因 CORS 策略而失败。

那么 public API 是如何构建和配置的?我应该如何设置我的 API 以便它可以服务多个应用程序(理想情况下,只允许我允许的应用程序)?

感谢您的解释:)

请求中有一个 Origin header,你的 API 应该检查这个 header 是否是允许的之一。如果是,那么 return 它作为 Access-Control-Allow-Origin header.

如果 API 是 public,它可以 returns * 为 Access-Control-Allow-Origin header。