MikeNolan
(Mike Nolan)
2023 年8 月 28 日 20:03
1
我正在使用多站点方法将一个站点拆分为两个独立的站点,又是时候“拍脑袋撞 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”}
我错过了什么秘诀?
pfaffman
(Jay Pfaffman)
2023 年8 月 29 日 00:51
2
您是在第二个网站上创建了新的 API 密钥吗?就像密钥无效一样。
MikeNolan
(Mike Nolan)
2023 年8 月 29 日 01:02
3
是的,我尝试了两个不同的新密钥,但都没有成功。
如果它正在记录错误,我没有发现是在哪里。
根据 API 菜单,它似乎正在访问正确的密钥:
a233… 停用 huskerlist 订阅者 6 小时 1 分钟
1 个赞
MikeNolan
(Mike Nolan)
2023 年8 月 29 日 02:30
4
我也尝试为系统用户创建了一个 API 密钥,但错误相同。
MikeNolan
(Mike Nolan)
2023 年8 月 30 日 01:04
6
据我所知,没有选项可以缩小 API 密钥的范围,使其能够处理停用,这不是可用的选项之一,但全局密钥无论如何都无法正常工作。(IMHO,API 需要改进。)
我不知道 deactivate.json 代码在哪里,在我的服务器上搜索找不到它,所以它显然不是一个单独的文件。我想知道这是否是 secondsite 的特定问题,因为在默认站点上它运行得很好。
不过,这并不是我发现的第一个 secondsite 问题,虽然我不确定是否有人报告过第一个问题,但它与 nginx 配置文件中的代码有关,该代码会检查 URL 中的域名是否为默认域名,每次重建时我都会注释掉那些代码行。我在这个帖子中报告了这个问题:
Thought I would give an update on my situation.
After some study, I decided I needed a multisite setup (one container at this point) with an ‘outside’ nginx site to explain the setup and direct people and traffic to the separate discourse sites. That way I could make both sites open for read-only access (and web crawlers) without the folks on list1 having to deal with the content from list2. I may have to fiddle with robots.txt to make the web crawlers happy.
The multisite setup examples wer…