从另一个网站获取登录用户的信息

是否有什么方法可以在不重新加载页面的情况下,从我的 React SPA 中获取 Discourse 当前登录用户的信息?

3 个赞

嗯,/session/current.json 路由在这里能用吗?:thinking:

我尝试发送了一个 GET 请求,但返回了 404。

我认为您可能需要 discourse connect,以便两个站点登录到同一个 sso 源。

我只是想获取当前登录的用户名。无需登录。

这就是重点。如果您未在 Discourse 中登录,此路由将返回 404。

在另一个我未登录的浏览器中:

这不正是您想要的吗? :thinking:

1 个赞

在我的论坛中发送 API 请求时,它有效。但在我的 React 网站上运行时,它却无效,而我的 React 网站运行在同一个浏览器中。

这是有道理的,那个 React 网站没有也无法从论坛获取相关的凭证来发出请求,而且它不应该能够获取它们。如果它能做到,那将是一个极大的安全问题。我建议按照上面提到的方法进行操作,并设置 Discourse Connect

3 个赞

我已经在使用 discourse connect,它允许特定群组的成员使用 discourse 登录我的网站。
我的 react 应用中有一个 composer,允许用户直接从我的 react 应用创建主题,而无需在我的 react 应用中创建账户。因此,我需要知道在 discourse 中登录的用户信息。
SSO 的问题在于它需要完全重新加载页面,而我需要避免这种情况才能使我的功能正常工作。

我不相信那是不可能的,但也许其他人可以帮助你,并证明我是错的。

1 个赞

您需要确保不通过带有 API 密钥的 JavaScript 前端进行 API 调用。

4 个赞

当然,在这种情况下我使用服务器组件。感谢您的建议。