【问题标题】:How am I able to check if the /authentication route is used?如何检查 /authentication 路由是否被使用?
【发布时间】:2020-04-23 22:08:35
【问题描述】:

我正在构建一个带有身份验证和授权的 FeathersJS 应用程序。
除了“/authentication”路由之外,我几乎在每条路由上都使用 before 钩子手动处理授权,因为您当然希望这条路由不受保护,这样每个人都可以进行身份​​验证/登录。
我的问题是,当我调用 /authentication 路由时,它也会调用 /users 受保护的路由。当然这是一个经常发生的问题,因为这个路由被多个其他路由调用,但是我在授权钩子中过滤了这些调用

if(context.params.providers) {...}

当我调用 /authentication 路由时,会使用 /users 路由调用钩子并设置提供程序,如果我是对的,那不应该是这样。
有没有办法过滤这个 /authentication 路由?

【问题讨论】:

    标签: authentication feathersjs


    【解决方案1】:

    当前的身份验证代码假定您可以使用外部提供程序调用 users get(主要是为了确保返回到客户端的用户已应用任何 after 挂钩来过滤/修剪敏感数据。

    请注意,使用提供程序集获取用户的调用羽毛还包括参数中的用户,因此您可以使用该用户上下文做出授权决策(例如,允许用户检索他/她自己的用户记录) .

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

    【讨论】:

      猜你喜欢
      • 2019-07-03
      • 2019-12-14
      • 2016-07-08
      • 2018-09-04
      • 1970-01-01
      • 1970-01-01
      • 2018-01-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多