Kuzzle getUser 通过 JWT Token 提前生成

Kuzzle getUser by JWT Token generated early

我使用 Kuzzle-SDK

在 ReactJS 应用中集成了 kuzzle

首先一切正常。我使用 kuzzle.auth.login('local', credentials) 登录 并将 JWT Token 保存在 localStoragekuzzle.auth.getCurrentUser() return

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

刷新浏览器后

我尝试 kuzzle.auth.checkToken();然后它 returns {valid: true, expiresAt: 1540824822897 } 我尝试 kuzzle.auth.getCurrentUser() 但随后 return

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

我想问一下我做错了什么或者我该如何解决

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

如果要使用之前获得的token,可以设置kuzzle.jwt 属性为相应的token。 (参见 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 因为您网页中包含的几乎每个脚本都能够在您的用户不知情的情况下读取并连接。