4

我正在尝试使用 REST API 登录到我的 Rocket Chat 安装。登录调用成功返回,我收到 AuthToken 和用户 ID。但我似乎无法绕过登录屏幕。换句话说,我想要做的是使用我的应用程序发送登录请求,然后因为它成功绕过 Rocket Chat 登录屏幕并直接进入聊天。

谢谢!

4

2 回答 2

5

通过 Rocket.Chat 的 REST API 登录并期望 Web 浏览器不需要您再次登录需要更多步骤。

当您成功使用 REST API 进行身份验证时,生成的对象如下所示(这些来自本地开发服务器):

{
    "status": "success",
    "data": {
        "authToken": "t2hjaCXP397DxwnYAgQtEaAULDjo4S5vXkopLr04LZL",
        "userId": "Q4KzBWSGtcCiKTtvC"
    }
}

从这个结果中,您需要authToken在 Web 浏览器的 LocalStorage 中获取 并设置您Meteor.loginToken的值为authToken. 例如在这种情况下,我们将执行以下操作:

var authToken = 'cXvkTF8X4uu-J_2uWelJGt4iuuTxjD5pFHuqhLOQRLJ';
localStorage.setItem('Meteor.loginToken', authToken);

完成此操作后不久,您的 Rocket.Chat 屏幕应该会刷新,现在您已登录。

于 2017-08-03T18:55:53.820 回答
0

您可以将令牌作为 resumeToken(之前以 authToken 获得)插入到相同的 HTML 中:

https://yourown.rocket.chat/home?resumeToken=abcd123456789

(来自https://docs.rocket.chat/guides/administrator-guides/authentication

于 2020-11-13T15:59:04.403 回答