Php 如何限制对slim 4端点的访问以仅允许浏览器扩展ajax请求

Php 如何限制对slim 4端点的访问以仅允许浏览器扩展ajax请求,php,heroku,google-chrome-extension,slim,browser-extension,Php,Heroku,Google Chrome Extension,Slim,Browser Extension,我使用heroku和php为我的chrome扩展创建了一个api服务。我想限制它的使用范围仅限于chrome扩展,但目前我不知道如何继续,我正在考虑使用identity api,将某些功能仅限于登录用户,但在heroku上,我没有数据库,所以我的问题是,如果不是从chrome://上下文调用端点,那么限制对端点的访问的最佳方法是什么?我正在使用一个slim 4实例运行两个不同的服务,我担心这会给可以不受限制地公开访问的端点带来问题。只要您在从Chrome插件发出请求时运行测试,您是否调试了请求头

我使用heroku和php为我的chrome扩展创建了一个api服务。我想限制它的使用范围仅限于chrome扩展,但目前我不知道如何继续,我正在考虑使用identity api,将某些功能仅限于登录用户,但在heroku上,我没有数据库,所以我的问题是,如果不是从
chrome://
上下文调用端点,那么限制对端点的访问的最佳方法是什么?我正在使用一个slim 4实例运行两个不同的服务,我担心这会给可以不受限制地公开访问的端点带来问题。

只要您在从Chrome插件发出请求时运行测试,您是否调试了请求头?也许您有一些信息可以帮助您确定请求是来自Chrome扩展还是来自标准HTTP请求。除此之外,使用Chrome插件源代码中硬编码的静态访问键怎么样?我知道,这是最好的主意,因为反向工程可以揭示API密钥,但是如果API不是那么重要,我想你可以使用它。我知道,当从chrome扩展发出ajax请求时,没有特定的信息发送到服务器。我正在考虑使用
chrome://
协议在服务器上添加访问控制头,但我不确定这是否会破坏我的端点,因为每个扩展都有自己的唯一id。api密钥是另一种解决方案,但在这种情况下,我只想在用户使用identity api登录后请求时才将其释放给用户,硬编码对于我正在实施的服务来说,密钥不是一种可恢复的方式。您想过Firebase解决方案吗?你可以免费拥有一个数据库和服务器端逻辑。我正在考虑使用firestore,但我需要了解如何将其集成到服务器逻辑中,以便与slim 4配合使用