0

使用新生成的 FeathersJS 应用程序(本地身份验证),我正在执行以下 REST api 调用,并具有以下行为:

  1. GET /users - 未授权失败
  2. 使用用户名和密码进行 POST /身份验证 - 成功
  3. GET /users - 它成功并返回用户列表
  4. DELETE /authentication - 返回 auth 对象,没有错误消息(并且在服务器端生成注销事件)
  5. GET /users - 它成功并返回用户列表

我这边的预期结果是,在第 5 步我会收到未经授权的错误,因为 JWT 令牌在服务器端注销后会过期。

我究竟做错了什么?如何仅使用 REST api 正确注销用户,因此令牌将失效?还是身份验证只能与 FeathersJS 客户端库一起使用?

ps 我正在尝试将 FeathersJS 作为我的 Flutter 应用程序的后端 REST API 的潜在解决方案。因此,我只对 FeathersJS 的服务器端实现感兴趣。

4

2 回答 2

2

FeathersJS 是无状态的。因此,在您的客户端中,只需将您的访问令牌设置为 null。

于 2019-11-28T15:12:29.440 回答
1

我使用socketio客户端。我通常通过调用 app.logout() 来注销用户,然后清除 localStorage 项目“feathers-jwt”以确保安全。按照此https://docs.feathersjs.com/api/client/rest.html#feathersjs-rest-client了解如何配置 REST 客户端。希望能帮助到你

于 2020-06-27T07:55:48.957 回答