如何检查/ authentication路由是否被使用?

时间:2020-04-23 06:19:56

标签: authentication feathersjs

我正在构建具有身份验证和授权的FeathersJS应用。
我会在“ / authentication”路由之外的几乎所有路由上使用前钩手动处理授权,因为您当然希望使此路由不受保护,以便每个人都可以进行身份​​验证/登录。
我的问题是,当我调用/ authentication路由时,它还会调用受保护的/ users路由。当然,这是一个经常发生的问题,因为该路由被其他多个路由调用,但是我使用

在授权钩子中过滤了这些调用
if(context.params.providers) {...}

当我调用/ authentication路由时,将使用/ users路由调用该钩子,并设置了提供程序,如果我正确的话,应该不会这样。
有没有办法过滤此/身份验证路由?

1 个答案:

答案 0 :(得分:0)

当前的身份验证代码假定您可以通过外部提供程序调用{​​{1}} users(主要是确保返回给客户端的用户具有应用于过滤器/修剪的任何get挂钩)敏感数据。

请注意,通过调用羽毛获得具有提供者集的用户也将用户包括在参数中,因此您可以使用该用户上下文进行授权决策(例如,允许用户检索他/她自己的用户记录)

https://github.com/feathersjs/feathers/blob/master/packages/authentication/src/jwt.ts#L103

相关问题