大家好,
我正在将 Discourse 用作后端,但没有涉及 Discourse UI。为了使用 API,我使用了用户名和全局 API 密钥来发送请求。
我遇到了一个问题,那就是每当我的 OIDC 提供商 (Keycloak) 中创建新用户时,我都无法在我的 API 中使用该用户的用户名。Discourse 无法识别该用户。
我尝试对此进行调试,并意识到当用户首次成功从 OIDC 登录时,Discourse 也会创建一个用户,并在 UI 上显示一个帐户已成功创建的横幅。在此之后,我才能使用用户名来发送 API 请求。
我想自动化这个流程,而无需使用 UI。基本上,我的意思是,如果我的 OIDC 平台中创建了一个用户,那么无需使用 UI,我就应该能够使用该用户的用户名和全局 API 密钥来发送我的请求。我愿意发送额外的 API 请求。
任何线索都将有所帮助。
提前感谢!!
pfaffman
(Jay Pfaffman)
2
3 个赞
DiscourseConnect 在我的情况下将无法工作,因为一次只能使用 OIDC 或 Discourse Connect。我尝试了逆向工程 discourse API。
URL 是:- https://smallidea.co/u
它有以下载荷:-
{
name: testuser
email: test@xxxxxx.com
username:discoursetestuser3
password_confirmation:2290e67e2f59d6b9a0edbc735cef0e1d
challenge:598d41761746371257a4c89d5ac61260
timezone:Asia/Calcutta
}
我不明白“password_confirmation”和“challenge”参数。有谁知道这是什么?
这两个参数都是动态的,没有固定的值可以传递。这是随机的。