有哪些方法可以返回用户有权使用REST API访问的资源子集?

问题描述 投票:0回答:1

说我有一个端点:/task,它返回task资源。

这是所有经过身份验证的用户都有权访问的终结点,但它只应返回用户有权访问(创建,拥有或共享)的tasks的子集。

我不想卸载此参数以查询参数,并希望客户端根据用户ID进行过滤。

处理此问题的方法有哪些?

是否有使用Auth0或其他第三方授权服务的东西?

node.js rest web-applications authorization
1个回答
0
投票

一种处理此问题的RESTful方法是按如下方式嵌套端点:/user/{id}/task

保护端点,仅允许经过身份验证的用户访问该端点。

然后验证URI中的ID是否与发出请求的用户匹配,或者该用户是管理员。如果令牌在有效负载中包含用户ID,则只需检查它是否与URI中的ID相匹配即可。

可以在诸如/user/{id}/task/{taskid}之类的端点上做同样的事情。但是,还需要进行其他检查,以确保给定的用户是该任务的所有者。

© www.soinside.com 2019 - 2024. All rights reserved.