我已经使用Kuzzle-SDK在ReactJS应用程序中集成了kuzzle

一切正常。我使用kuzzle.auth.login('local', credentials)登录
并将JWT令牌保存在localStoragekuzzle.auth.getCurrentUser()返回中

{
  "profileIds": [
    "admin"
  ],
  "_kuzzle_info": {
    "author": "usamaashraf82",
    "createdAt": 1573960408796,
    "updatedAt": null,
    "updater": null
  }
}


刷新浏览器后

我尝试kuzzle.auth.checkToken();并返回{valid: true, expiresAt: 1540824822897 }
我尝试kuzzle.auth.getCurrentUser()但随后返回

{
  "profileIds": [
    "anonymous"
  ],
  "name": "Anonymous"
}


我想问我在做什么错或如何解决

最佳答案

kuzzle.auth.checkToken方法仅用于检查令牌有效性。

如果要使用以前获取的令牌,可以使用相应的令牌设置kuzzle.jwt属性。 (请参见Kuzzle properties documentation)。

const token = await kuzzle.auth.login('local', credentials);
// [...]
kuzzle.jwt = token;
await kuzzle.auth.getCurrentUser(); // now loggued with the user corresponding to the token


请考虑将身份验证令牌存储在浏览器的本地存储中是usually a bad idea,因为网页中包含的几乎每个脚本都将能够在用户不知情的情况下读取并连接它们。

10-07 14:31