我正在构建REST API以公开特定用户保存的所有待办事项列表。用户身份验证使用OAuth2协议进行。我有一个API GW授权访问此API 基于访问令牌。 API具有用户的输入参数。该参数指定的用户保存的所有待办事项列表均由API返回
可以说,user1在成功认证后获得访问令牌。他使用该令牌来调用此API,但将“ user”参数设置为user2。由于API GW允许访问 API(因为有有效的访问令牌),请求将传递到服务,该服务返回user2的所有待办事项列表。
如何防止这种情况发生?
答案 0 :(得分:0)
通常,您希望将access_token
和user_id
以1:1关系的形式存储在类似SQL数据库的地方。之后,您将可以检查API中access_token
的所有权。
此外,如果您对access_token
使用JWT格式,则可以将user_id
存储在令牌的声明中,而不是存储在数据库中。