我正在开发一个带有php后端的Web应用程序,但是有计划为移动用户制作一个Android应用程序。经过一番研究,我发现我需要将php后端编写为RESTFUL api网络服务,以支持在其桌面浏览器上使用该网站的用户和android应用程序用户。
是吗?我需要为我的松散分类“社交网络”应用编写类似imgur api的文字吗?我之所以这样问,是因为我对为什么必须编写一个API来访问自己的用户数据感到困惑。我给人的印象是,编写此类api是为了允许第三方访问您的用户信息,例如当您使用facebook userid / password登录到stackoverflow时。
安全性是这里的主要问题。这些应用程序(特别是android应用程序)可以通过与我将要编写的api通信来工作,因此我是否需要使用OAuth2来验证android应用程序用户的身份并为他们提供访问其数据的令牌? 再次:我想在要向第三方应用程序授予对某些用户数据的访问权限时使用OAuth2。 为什么比像在桌面浏览器上那样使用其电子邮件地址和密码对它们进行身份验证更好?还是应该同时使用OAuth2?
最后继续上面的imgur示例,请考虑使用此url获取图像-https://api.imgur.com/3/image/{{imageHash}}
如果我写类似的话-验证后获取用户信息,例如https://api.mysite.com/users/get/{{user_id}}
我如何防止世界知道这个问题,因此imgur编写了他们的api,让世界可以访问他们的东西,但我只是为我的android应用程序编写了它。
我会在代码中写入网址吗?也许像-usersJsonArray = new JSONObject("https://api.mysite.com/users/get/{{user_id}}").getJSONArray("user");
此外,https服务器还将向用户返回一个带有用户详细信息的json到android手机。那有多安全?我的意思是,服务器使用https,这意味着没有人可以看到来自服务器的json响应,对吗?
好吧-http://acaasia.blogspot.com/2013/04/designing-secure-rest-web-api-without.html表示您可以通过遵循亚马逊的设计来实现良好的安全性。但是我很难完全理解解释。这里有人愿意提供一些帮助来理解它吗?
这变得越来越有趣,现在我们需要考虑HMAC与OAuth2。可悲的是,这些只是抽象准则,没有代码可参考。