如何防止REST API参数更改

时间:2019-02-27 08:48:12

标签: oauth oauth-2.0

我正在构建REST API以公开特定用户保存的所有待办事项列表。用户身份验证使用OAuth2协议进行。我有一个API GW授权访问此API 基于访问令牌。 API具有用户的输入参数。该参数指定的用户保存的所有待办事项列表均由API返回

可以说,user1在成功认证后获得访问令牌。他使用该令牌来调用此API,但将“ user”参数设置为user2。由于API GW允许访问 API(因为有有效的访问令牌),请求将传递到服务,该服务返回user2的所有待办事项列表。

如何防止这种情况发生?

1 个答案:

答案 0 :(得分:0)

通常,您希望将access_tokenuser_id以1:1关系的形式存储在类似SQL数据库的地方。之后,您将可以检查API中access_token的所有权。

此外,如果您对access_token使用JWT格式,则可以将user_id存储在令牌的声明中,而不是存储在数据库中。