我正在尝试为Django为移动客户端添加REST接口。移动客户端将通过HTTPS使用JSON。我无法找到为移动设备实现这一目标的“最佳”方式。从搜索周围来看,#2似乎更有利于#1:
答案 0 :(得分:8)
我建议首先使用登录电话发送用户名/密码。 JSON将传回一个authToken或accessToken,移动设备将为后续所有呼叫发送回来。然后,您将检查以确保authToken有效。这是许多API采用的方法。在他们的数据库中,他们将API密钥绑定到他们登录的用户帐户。
答案 1 :(得分:3)
除非您希望将这些服务提供给其他开发人员(他们将代表您的最终用户访问),否则OAuth就会过度使用。最好使用选项2,但我建议使用摘要式身份验证而不是密码身份验证。将它与SSL结合起来,你绝对不错。
答案 2 :(得分:1)
2号是首选,而不是自己动手,我建议尽可能使用OAuth身份验证。客户端和服务器库现在都可以在大多数平台上使用。查看http://oauth.net了解详情。
答案 3 :(得分:0)
只要您使用的是实际加密而不是base64或某些自行开发的混淆算法,#2就可以了。您可能还想考虑许多公司采用的路由,即将API密钥绑定到用户名。