0

我正在为所有用户服务之前设置一个钩子。钩子是检查请求者的角色并决定是继续请求还是抛出禁止。

需要在我的钩子之前调用 Auth 以确保事先填充了上下文用户。没关系。

但是,由于首先调用了我的钩子,因此身份验证将无法获取用户,导致由于找不到上下文用户而被禁止抛出。

我想要做的是识别上下文是否来自身份验证,以便我可以让身份验证通过而无需检查。但是怎么做?还是我的方法错了?

仅供参考:仅[authenticate("jwt"), acl]在所有之前。acl是我的钩子。同样,auth(jwt)来自@feathersjs/authentication 的钩子

-whotfisthis,请原谅糟糕的语法。

4

1 回答 1

0

解决了,我猜。

而不是试图识别它是否是身份验证钩子并让它通过而不检查:

除了请求者的 _id 之外,所有带有 _id 参数的 GET 请求都将通过 acl 检查。authenticated: true带有 self _id的初始 GET 请求和请求将通过

于 2020-02-14T02:35:36.680 回答