0

我想使用带有羽毛的简单但自定义的身份验证例程,但不明白如何实现它。

要求:每个客户端连接(websocket 或 REST)都必须提供一个会话令牌(我通过其他方式建立并保存为 cookie)。服务器中间件验证此会话令牌(针对服务),如果成功则添加用户对象,否则断开连接。

我是否正确,这是不可能实现的feathers-authenticate?官方认证文档以 JWT 为中心,没有提到任何不依赖护照的方法。

可以使用应用程序钩子,例如应用程序级之前的钩子。但这仍然允许用户建立例如 websocket 连接,因为身份验证仅在服务级别上,对吗?我不认为这是理想的。我希望我的身份验证在建立连接(websocket,或者也用于 REST 的 HTTP)时运行,并在不成功时直接放在那里。

我可以用羽毛做这个吗?

4

1 回答 1

0

我通过向 primus 连接添加身份验证解决了这个问题:

  feathersApp.configure(
    primus(
      {
        transformer: "websockets"
      },
      function(primus) {
        primus.use("cookies", cookieParser, 1);
        primus.authorize(async (req, done) => {
          try {
            done(await authenticateRequest(req));
          } catch (err) {
            done(err);
          }
        });
      }
    )
  );
于 2018-02-13T15:54:00.957 回答