允许从公共API进行某些修改的风险?

时间:2014-04-24 21:28:30

标签: facebook-graph-api api-design

我试图为我的网络应用设计一个优秀的RESTful API,并以Facebook的Graph API为例。

我的计划是在网络应用程序中对API进行dogfood。例如,如果用户在设置页面上更改了他们的姓名,性别等,则只会使用新数据将其推送到我的网络应用的/用户端点。

但是,我注意到Facebook的Graph API不允许修改用户资源。是否有一些资源要确保不能从公共API修改?

我基本上只是想知道我的方法是否有任何风险,如果没有,为什么其他网站不会做同样的事情。

1 个答案:

答案 0 :(得分:0)

是的,您希望阻止API用户修改资源,但这些资源依赖于应用程序。例如,我正在使用的API现在允许调用者读取但不更新审计数据,读取用户记录(但只修改他们自己的部分),以及创建和更新家庭地址。

您需要确保具有严格的安全措施,以防止用户修改用户的某些部分(例如用户名或密码),尤其是在用户A正在呼叫PUT /users/B时。