繁体   English   中英

如何为移动应用程序保护REST API?

[英]How to secure a REST API for mobile applications?

我正在尝试为Django添加一个REST接口,用于移动客户端。 移动客户端将通过HTTPS使用JSON。 我无法找到为移动设备实现这一目标的“最佳”方式。 从搜索周围来看,#2似乎更有利于#1:

  1. 使用HTTP身份验证并建立基于cookie的会话。 所有事务都将通过HTTP发生,JSON消息将仅包含命令或数据。
  2. 在所有事务的每个JSON消息中传递用户名和密码(加密),不依赖于基于cookie的会话。

我建议首先通过登录电话发送用户名/密码。 JSON将传回一个authToken或accessToken,移动设备将为后续所有呼叫发送回来。 然后,您将检查以确保authToken有效。 这是许多API采用的方法。 在他们的数据库中,他们将API密钥绑定到他们登录的用户帐户。

除非您希望将这些服务提供给其他开发人员(他们将代表您的最终用户访问),否则OAuth可能会过度。 最好使用选项2,但我建议使用摘要式身份验证而不是密码身份验证。 将它与SSL结合起来,你绝对不错。

2号是首选,而不是自己滚动,我建议尽可能使用OAuth身份验证。 客户端和服务器库现在都可以在大多数平台上使用。 查看http://oauth.net了解详情。

只要您使用的是实际加密而不是base64或某些自行开发的混淆算法,#2就可以了。 您可能还想考虑许多公司采用的路由,即将API密钥绑定到用户名。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM