您好,
我使用 REST API 创建了一个新用户。
但我无法使用新用户的凭据登录。当我在 users 表中搜索时,找不到该用户帐户。
为了排除故障,我运行了以下 CURL 命令。
我还尝试在 CURL 命令中使用 JSON 负载。
两次我得到的结果都一样:我无法使用新用户的凭据登录,并且在新用户的 users 表中找不到该用户。
有什么想法吗?
谢谢
您好,
我使用 REST API 创建了一个新用户。
但我无法使用新用户的凭据登录。当我在 users 表中搜索时,找不到该用户帐户。
为了排除故障,我运行了以下 CURL 命令。
我还尝试在 CURL 命令中使用 JSON 负载。
两次我得到的结果都一样:我无法使用新用户的凭据登录,并且在新用户的 users 表中找不到该用户。
有什么想法吗?
谢谢
这里的信息有点误导;active:false 表示用户未被创建,但该用户已存在。
请检查是否已存在具有相同电子邮件地址的用户,特别是当启用了 normalize_emails 时。
我意识到我们的 API 文档中存在一个错误。active 参数仅在使用了与管理员用户关联的 API 密钥时才允许使用,并且自 2016 年以来一直是这种情况(https://github.com/discourse/discourse/commit/429f27ec96c090d9054c498263f0cb635b665d99)。
目前,我已在 https://github.com/discourse/discourse/pull/31578 中更正了文档。
这会有所帮助,是的。
这仍然没有解决消息误导管理员的原始问题。
○ → curl -X POST -H \"api-key: $API_KEY\" -H 'api-username: michael' https://try.discourse.org/users.json --json \"$(jo email=michael+test@contoso.com username=michaeltest password=$PASSWORD active=true approved=true)\"
{\"success\":true,\"active\":true,\"message\":\"Your account is activated and ready to use.\"}
○ → curl -X POST -H \"api-key: $API_KEY\" -H 'api-username: michael' https://try.discourse.org/users.json --json \"$(jo email=michael+test2@contoso.com username=michaeltest2 password=$PASSWORD active=true approved=true)\"
{\"success\":true,\"active\":false,\"message\":\"Your account is activated and ready to use.\"}
^ 上面只创建了一个用户
我推断 /users.json 路径被大量混淆以阻止垃圾邮件发送者等,但这似乎也给管理员带来了麻烦。我想我们是否应该添加一个明确的管理员路径来区分两者(正常帐户创建与管理员帐户创建),这将允许管理员功能不被混淆。
你说得对。问题是:已存在具有相同电子邮件地址的用户。
我通过用户名和 created_at desc 进行搜索,这就是为什么新用户没有出现在搜索结果中的原因。
成功的响应让我感到困惑。
感谢你的帮助。
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.