API 在 secondsite 故障,在 primary/default site 正常

我正在使用多站点方法将一个站点拆分为两个独立的站点,又是时候“拍脑袋撞 API”了。

现在我试图做的是在列表 2(第二个站点)中停用列表 1(默认站点)中的用户。

我已经从列表 1 停用了列表 2 中的用户,我在 PHP 脚本中唯一更改的是为第二个站点生成一个新的 API 密钥,将其插入 CURL 调用中,但我收到了无效访问错误。

这是一个经过删节的调用(缺少大部分 API 密钥),仅对该用户有效,并具有全局访问权限。

curl -X PUT -H “Content-Type: multipart/form-data;” -H “Api-Key: a23…” -H “Api-Username: nolan” “https://nu-sports.tssi.com/admin/users/4/deactivate.json/”
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 98 0 98 0 0 212 0 --:–:-- --:–:-- --:–:-- 4454
{“errors”:[“You are not permitted to view the requested resource.”],“error_type”:“invalid_access”}

我错过了什么秘诀?

您是在第二个网站上创建了新的 API 密钥吗?就像密钥无效一样。

是的,我尝试了两个不同的新密钥,但都没有成功。

如果它正在记录错误,我没有发现是在哪里。

根据 API 菜单,它似乎正在访问正确的密钥:

a233… 停用 huskerlist 订阅者 24x24 6 小时 1 分钟

1 个赞

我也尝试为系统用户创建了一个 API 密钥,但错误相同。

我会尝试使用全局密钥,然后尝试缩小范围。

据我所知,没有选项可以缩小 API 密钥的范围,使其能够处理停用,这不是可用的选项之一,但全局密钥无论如何都无法正常工作。(IMHO,API 需要改进。)

我不知道 deactivate.json 代码在哪里,在我的服务器上搜索找不到它,所以它显然不是一个单独的文件。我想知道这是否是 secondsite 的特定问题,因为在默认站点上它运行得很好。

不过,这并不是我发现的第一个 secondsite 问题,虽然我不确定是否有人报告过第一个问题,但它与 nginx 配置文件中的代码有关,该代码会检查 URL 中的域名是否为默认域名,每次重建时我都会注释掉那些代码行。我在这个帖子中报告了这个问题: