我如何能够检查是否使用了认证途径?

我正在构建一个带有认证和授权的FeathersJS应用。除了 “authentication “路由之外,我几乎在每条路由上都用before钩子手动处理了授权,因为你当然希望这条路由不受保护,这样每个人都能验证登录。我的问题是,当我调用认证路由时,它也会调用受保护的用户路由。当然这也是一个经常发生的问题,因为这条路由会被多个其他路由调用,但我在授权钩子中用

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

当我调用认证路由的时候,钩子是和用户路由一起调用的,并且设置了一个提供者,如果我没说错的话,应该不是这样的。有没有办法过滤这个认证路由?

解决方案:

目前的认证代码假设你可以调用 “认证 “路径。users get 与外部提供商合作(主要是为了确保返回到客户端的用户有任何的 after 钩子应用于过滤prune敏感数据。

需要注意的是,feathers为获取具有provider set的用户而进行的调用也在params中包含了用户,所以你可以使用该用户上下文来进行授权决策(例如,允许用户检索hisher自己的用户记录)。

https:/github.comfeathersjsfeathersblobmasterpackagesauthenticationsrcjwt.ts#L103。

给TA打赏
共{{data.count}}人
人已打赏
未分类

从Openweathermap API中获得迅捷的天气数据?

2022-9-8 1:39:39

未分类

将服务器的输出转为CSV文件。

2022-9-8 1:39:41

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索