我正在尝试使用 REST API 登录到我的 Rocket Chat 安装。登录调用成功返回,我收到 AuthToken 和用户 ID。但我似乎无法绕过登录屏幕。换句话说,我想要做的是使用我的应用程序发送登录请求,然后因为它成功绕过 Rocket Chat 登录屏幕并直接进入聊天。
谢谢!
我正在尝试使用 REST API 登录到我的 Rocket Chat 安装。登录调用成功返回,我收到 AuthToken 和用户 ID。但我似乎无法绕过登录屏幕。换句话说,我想要做的是使用我的应用程序发送登录请求,然后因为它成功绕过 Rocket Chat 登录屏幕并直接进入聊天。
谢谢!
通过 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 屏幕应该会刷新,现在您已登录。
您可以将令牌作为 resumeToken(之前以 authToken 获得)插入到相同的 HTML 中:
https://yourown.rocket.chat/home?resumeToken=abcd123456789
(来自https://docs.rocket.chat/guides/administrator-guides/authentication)