我正在构建一个REST API来公开由特定用户保存的所有待办事项列表。用户身份验证使用OAuth2协议进行。我有一个API GW,它根据访问令牌授权访问此API。该API有一个user的输入参数。通过此参数指定的用户保存的所有待办事项列表都由API返回
假设user1在成功身份验证后获得一个访问令牌。他使用该令牌来调用此API,但将'user‘参数设置为user2。由于API提供对API的访问(因为存在有效的访问令牌),因此请求传递给服务,该服务返回user2的所有待办事项列表。
如何防止这种情况发生?
发布于 2019-02-27 16:59:46
通常,您希望将access_token
和user_id
以1:1的关系一起存储在某个地方,比如SQL数据库。在此之后,您将能够在您的API中检查access_token
的所有权。
此外,如果您对access_token
s使用JWT格式,则可以将user_id
存储在令牌的声明中,而不是存储在数据库中。
https://stackoverflow.com/questions/54901363
复制相似问题